作者归档:wy

服务器设置 SSH 通过密钥登录

密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。

1. 制作密钥对

cd ~/.ssh
ssh-keygen -m PEM -t rsa -C "注释"

生成时的密码可以设置为空, “注释”的内容可以根据自己的需要进行修改, 为了不影响之前的密钥文件, 这里将密钥文件名称设为 id_rsa_pem, 则然后会得到两个文件, id_rsa_pem 和 id_rsa_pem.pub

将公钥内容加入 authorized_keys
如果服务器上已经存在 ~/.ssh/authorized_keys 文件, 将 id_rsa_pem.pub 中的内容拷贝到 ~/.ssh/authorized_keys 文件中即可. 如果不存在, 需要执行以下代码:

cd ~/.ssh
cat id_rsa_pem.pub >authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh

编辑 /etc/ssh/sshd_config 文件,进行如下设置:

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
PasswordAuthentication no

最后,重启 SSH 服务:

service sshd restart

2. 将私钥拷贝到本地电脑
将服务器的 ~/.ssh/id_rsa_pem 文件拷到到本地电脑, 然后就可以使用该文件免密登录服务器了。