1.制作密钥对
ssh-keygen
输入会问两个问题
- 设置公私钥名称(可以留白,直接回车)
- 设置公私钥密码(可以留白,直接回车)
- 第一次输入
- 第二次确认
留空确认的话,生成公私钥。共有两个文件
# 私钥
id_rsa
# 公钥
id_rsa.pub
私钥用来登录,公钥用来放服务器上。接下来上传公钥到服务器,使用私钥加密数据访问服务器。
2.在服务器上安装公钥
把公钥放到需要登录用户.ssh的authorized_keys文件,没有就创建
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
3.在客户端,测试访问
ssh -i 私钥 用户@地址
例如:ssh -i .\.ssh\id_rsa root@121.37.91.171
4.关闭密码登录
为了安全性,启用密钥登录之后,最好关闭服务器的密码登录。
对于 OpenSSH,具体方法就是打开服务器 sshd 的配置文件
sudo vim/etc/ssh/sshd_config
配置
PasswordAuthentication no
请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
重启sshd即可
systemctl restart sshd.service
再测试连接成功就可以了