15 网络配置与管理之使用ssh远程连接

在上一篇文章中,我们讨论了如何配置网络接口,确保我们的Linux系统在网络中有效地通信。如今,网络已成为日常管理系统的重要组成部分,而远程连接则是运维工作中不可或缺的工具。在本篇文章中,我们将重点学习如何使用ssh(Secure Shell)协议通过网络远程连接到Linux服务器。ssh是一个强大的工具,提供了安全的数据通信、远程命令执行和多种其他功能。

什么是SSH?

SSH(Secure Shell)是一种用于安全远程登录和其他网络服务的协议。它通过加密技术确保数据在传输过程中安全,保护用户的身份和信息。因此,可以用ssh安全地连接到远程计算机,进行各种管理任务。

安装SSH

在大多数Linux发行版中,ssh客户端和服务器通常会预装。在这种情况下,可以直接使用。如果未安装,可以根据不同的包管理器进行安装。

在基于Debian的系统中(如Ubuntu)

1
2
sudo apt update
sudo apt install openssh-server

在基于Red Hat的系统中(如CentOS)

1
sudo yum install openssh-server

安装完成后,可以通过运行以下命令来启动ssh服务并设置为开机自启:

1
2
3
4
5
# 启动SSH服务
sudo systemctl start sshd

# 设置SSH服务为开机自启
sudo systemctl enable sshd

连接到远程服务器

一旦SSH服务启动并运行,您可以从另一台计算机上通过SSH连接到该服务器。基本的SSH连接命令如下:

1
ssh username@hostname_or_ip
  • username:远程计算机上的用户账号。
  • hostname_or_ip:远程计算机的主机名或IP地址。

示例

假设您的服务器IP地址是192.168.1.10,并且您的用户名是admin,可以使用以下命令连接:

1
ssh admin@192.168.1.10

系统将提示您输入该用户的密码。输入正确的密码后,您将成功连接到远程服务器。

使用SSH密钥进行安全连接

为了增加连接的安全性,您可以使用SSH密钥对进行无密码登录。以下是设置SSH密钥对的步骤:

生成SSH密钥对

在本地计算机上,使用以下命令生成SSH密钥对:

1
ssh-keygen -t rsa -b 2048

按照提示,您可以选择保存密钥的位置(默认是~/.ssh/id_rsa)和为私钥设置密码(可选)。

将公钥复制到远程服务器

使用ssh-copy-id命令将公钥推送到远程服务器:

1
ssh-copy-id username@hostname_or_ip

例如:

1
ssh-copy-id admin@192.168.1.10

输入密码后,公钥将被自动复制到远程服务器的~/.ssh/authorized_keys文件中。

无密码SSH登录

完成上述步骤后,您可以无密码SSH连接到远程服务器:

1
ssh admin@192.168.1.10

SSH配置与管理

ssh的配置文件通常位于/etc/ssh/sshd_config中,它允许您控制SSH服务的行为。您可以通过编辑该文件来进行一些设置,如:

  • 更改SSH端口(默认为22)
  • 禁止root用户登录
  • 设置最大连接尝试次数
  • 允许或拒绝特定IP地址

例如,编辑配置文件:

1
sudo nano /etc/ssh/sshd_config

在文件中修改或添加以下行,例如更改默认的SSH端口:

1
Port 2222

完成后,保存文件并重启SSH服务:

1
sudo systemctl restart sshd

常用SSH命令总结

  • 基本连接

    1
    ssh username@hostname_or_ip
  • 指定端口连接

    1
    ssh -p port_number username@hostname_or_ip
  • 无密码登录

    通过密钥对连接。

  • 远程执行命令

    1
    ssh username@hostname_or_ip 'command_to_run'
  • 文件传输

    使用scp命令进行文件传输:

    1
    scp local_file username@hostname_or_ip:/path/to/remote/directory

总结

通过以上内容,我们学习了如何使用ssh协议远程连接Linux服务器。无论是在日常运维中,还是在进行故障排除时,ssh都是一个非常有用的工具。配置ssh以允许无密码登录和加强安全性,可以使管理工作更加高效和安全。接下来,我们将在下一篇文章中探讨软件包管理的内容,包括yumapt的用法。

15 网络配置与管理之使用ssh远程连接

https://zglg.work/linux-maintenance/15/

作者

IT教程网(郭震)

发布于

2024-08-11

更新于

2024-08-12

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论