一、前言
在Linux系统中,SSH(Secure Shell)是一种常用的远程登录和文件传输协议。传统的SSH登录需要输入用户密码,既不方便也不安全。为了解决这个问题,我们可以部署SSH的公钥认证,即免密登录。本文将详细介绍如何在CentOS上批量部署用户免密服务器。
二、准备环境
1台CentOS 7.x的服务器(本文使用CentOS 7.6) 多个CentOS客户端(根据实际需求确定数量)
三、步骤详解
安装OpenSSH服务器
在CentOS服务器上安装OpenSSH服务器,使用以下命令:
sudo yum install openssh-server 生成SSH密钥对
在每个需要免密登录的客户端上生成SSH密钥对。首先,打开终端并输入以下命令:
#ssh-keygen -t rsa
然后,按照提示输入密钥保存路径和密码。这一步会在客户端上生成一对公钥和私钥,分别是/.ssh/id_rsa和/.ssh/id_rsa.pub。
复制客户端公钥到服务器
将客户端的公钥复制到服务器上,让服务器识别该公钥。使用以下命令:
#ssh-copy-id username@server_ip
这里的username是你在服务器上的用户名,server_ip是服务器的IP地址。输入命令后,需要输入客户端的密码和服务器上的密码。
配置SSH服务器
在服务器上配置SSH,使其接受来自客户端的公钥认证。打开/etc/ssh/sshd_config文件:
#sudo vi /etc/ssh/sshd_config
然后,找到以下几行并修改:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
确保这些选项都已开启或设置正确。保存并关闭文件。
重启SSH服务
完成上述步骤后,重启SSH服务以使更改生效:
#sudo systemctl restart sshd 测试免密登录
现在,你应该可以从客户端无密码登录到服务器了。试试以下命令:
#ssh username@server_ip
这里的username和server_ip如前面所述。如果一切顺利,你应该可以直接登录到服务器,不再需要输入密码。
四、总结与注意事项:
在生成SSH密钥对时,务必选择RSA算法,并且不要设置过于简单的密码。否则,安全性可能会降低。 在复制公钥时,务必确认服务器的公钥已经设置,否则客户端无法连接到服务器。否则,新的客户端无法使用免密登录。 定期更换密钥对也是一个好的安全习惯,以防止密钥泄露带来的安全风险。
标签:免密,CentOS,ssh,服务器,客户端,SSH From: https://blog.51cto.com/u_16206879/7062638