配置SSH密钥大概只有两步工作,分别是生成密钥对和修改SSH配置
生成密钥对
进入当前用户目录,一般root用户只需要这样即可
cd ~
创建.ssh目录并设置权限
mkdir -p .ssh
chmod 700 .ssh
进入 .ssh
目录和生成密钥对
cd .ssh
ssh-keygen
然后,一路回车即可
Warning:同样,你也可以使用不同于上文上文RSA加密方法 ssh-keygen -t [rsa1|rsa|dsa]
三种加密方法任选你所需要的。但是需要注意你使用的SSH协议版本,SSH1协议中只能使用rsa1,SSH2协议中RSA和DSA方法都能使用。ssh-keygen命令的详细参数说明,可以使用谷歌查询到,这里使用默认的方式
密钥文件按照默认方式,在主目录/root下的隐藏目录.ssh中生成,分别为id_rsa和id_rsa.pub,其中
- id_rsa:是你的私钥,你应该保存到你的【可信任的设备】上并在服务器上删除该文件
- id_rsa.pub:是你的公钥,保存在服务器上
接着生成密钥认证文件
touch authorized_keys
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
至此,你的第一部分已经完成了,你所做的需要将你的密钥文件id_rsa
妥善保存在你的本地电脑,并将服务器上生成的密钥文件id_rsa
删除
修改SSH配置
使用root登录修改配置文件:/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
将下面的内容的前面的 #
去掉
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
然后,修改下面的内容的 yes
为 no
PasswordAuthentication yes
最后修改后效果为
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
···
PasswordAuthentication no
最后重启SSH服务
CentOS 6.x:
service sshd restart
CentOS 7.x:
systemctl restart sshd
还记得前面的你所保留的密钥文件id_rsa
吗?用各种SSH登录软件去使用吧,例如:Xshell或Putty,详情请参考你所使用的软件的教程或说明书
本文由 Chakhsu Lau 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。