步骤一:生成复杂的 SSH 密钥
1.1 生成复杂的 SSH 密钥
# ssh-keygen -b 4096 -t rsa -C "<content>" -f "<public private key name>"
(注意:在生成复杂 SSH 密钥的时候最好也设置它的使用密码)
1.2 将生成的复杂 SSH 密钥移动到指定位置
# mv <public private key name>* ~/.ssh/
1.3 给部署好的复杂 SSH 密钥设置权限
# chmod -R 600 ~/.ssh/<public private key name>*
步骤二:将复杂的 SSH 公钥拷贝到目标服务器
# ssh-copy-id -i ~/.ssh/<public private key name>.pub <destination IP address>
步骤三:指定复杂 SSH 密钥登录目标服务器
# ssh -i ~/.ssh/<public private key name> <destination IP address>
步骤四:在目标服务器上设置只能使用密钥登录
4.1 修改 /etc/ssh/sshd_conf 配置文件
如果是 Rocky Linux & RHEL:
# vim /etc/ssh/sshd_conf
将其中的:
......
# PasswordAuthentication yes
......
修改为:
......
PasswordAuthentication no
......
如果是 openSUSE & SLES:
# vim /etc/ssh/sshd_conf
将其中的:
......
# PasswordAuthentication yes
......
# ChallengeResponseAuthentication yes
......
修改为:
......
PasswordAuthentication no
......
ChallengeResponseAuthentication no
......
4.2 让修改的 /etc/ssh/sshd_conf 配置文件生效
# systemctl restart sshd
补充一:修改复杂 SSH 密钥密码的方法
# ssh-keygen -p -f ~/.ssh/<public private key name>
(补充:无密码的 SSH 密钥也能通过此方法设置密码)
补充二:显示已生成的 SSH 密钥的加密方式
# ssh-keygen -l -f ~/.ssh/<public private key name>