如何使用安全的远程登录协议(SSH)保护CentOS服务器

avatar
作者
筋斗云
阅读量:2

要使用安全的远程登录协议(SSH)来保护CentOS服务器,可以按照以下步骤进行操作:

  1. 更新系统:确保服务器上安装的所有软件包都是最新的。可以使用以下命令来更新系统:
sudo yum update 
  1. 安装SSH服务器:在CentOS上默认情况下已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令来安装:
sudo yum install openssh-server 
  1. 配置SSH服务器:可以编辑SSH服务器的配置文件来进行定制。配置文件位于/etc/ssh/sshd_config。可以使用文本编辑器(如vi或nano)打开此文件,并根据需要进行更改。以下是一些常见的配置选项:
  • 更改SSH服务器的监听端口(默认为22):可以将其更改为其他非常用端口,以增加安全性。

  • 禁用SSH的密码身份验证:可以使用公钥身份验证来代替密码身份验证,以增强安全性。

  • 限制SSH登录的用户列表:可以指定允许登录的用户列表,以减少潜在攻击的风险。

  • 配置SSH会话超时时间:可以设置会话的最大空闲时间,以增加安全性。

修改配置文件后,保存并关闭它。然后使用以下命令重新加载SSH服务器以使更改生效:

sudo systemctl reload sshd 
  1. 配置防火墙:如果服务器上启用了防火墙,需要确保允许SSH流量通过防火墙。可以使用以下命令来打开SSH端口(默认为22):
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent sudo firewall-cmd --reload 

如果使用其他非标准端口,请将上述命令中的端口号更改为相应的端口。

  1. 启用公钥身份验证:公钥身份验证是一种用于远程登录的更安全的身份验证方法。要使用公钥身份验证,需要在服务器上生成公钥/私钥对,并将公钥添加到授权的用户列表中。可以使用以下步骤来完成此操作:
  • 在本地计算机上生成公钥/私钥对:
ssh-keygen -t rsa 

此命令将生成一个RSA密钥对,并将私钥保存在~/.ssh/id_rsa中,将公钥保存在~/.ssh/id_rsa.pub中。

  • 将公钥复制到服务器上的授权用户的~/.ssh/authorized_keys文件中。可以使用以下命令将公钥复制到服务器上:
ssh-copy-id username@server_ip 

username替换为授权用户的用户名,将server_ip替换为服务器的IP地址。

  • 在服务器上完成后,可以禁用密码身份验证,只允许公钥身份验证。在SSH服务器配置文件/etc/ssh/sshd_config中,将PasswordAuthentication选项设置为no
  1. 限制登录用户:为了增加安全性,可以限制允许通过SSH登录的用户列表。在SSH服务器配置文件/etc/ssh/sshd_config中,可以使用AllowUsers选项来指定允许登录的用户。例如:
AllowUsers username1 username2 

username1username2替换为实际允许登录的用户名。

  1. 重启SSH服务器:在完成所有配置更改后,可以使用以下命令重启SSH服务器以使更改生效:
sudo systemctl restart sshd 

现在,您的CentOS服务器已经配置为使用SSH进行安全的远程登录。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!