centos使用密钥替换密码登录服务器

一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以admin为例,命令:
su admin
cd ~

二、创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞定

三、按照流程走完后会在 ~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是公共密钥

四、修改SSH配置文件,命令:vim /etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys 这个档案内才行,命令:
cd ~/.ssh
cat id_ras.pub >> authorized_keys

重启SSH服务,命令:systemctl restart sshd.service

六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum -y install lrzsz

xshell登录服务器
现在开始下载,命令:
cd ~/.ssh 
sz id_ras
之后就可以使用密钥登录服务器了,具体做法根据使用的工具百度。

之前为了防止设置失败导致不能登录,我们没有禁用密码登录

现在应该配置成功了,登录服务器

vim /etc/ssh/sshd_config

# 有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

重启SSH服务,命令:systemctl restart sshd.service

现在服务器只能用密钥登录了,这样更安全了,当然密钥加密码更安全。

参考自http://blog.csdn.net/qingguiyu/article/details/51242181

原文地址:https://www.cnblogs.com/lgh344902118/p/7700611.html