本文发布于:2023-01-17,最后更新于:2023-01-18,如果内容失效请留言告知。
1. 生成 rsa 公私钥
登录远程 CentOS ssh 终端,执行如下命令:
1 2 3 4 5 6 7 | # 若不需要密码,可一路回车到最后完成 ssh -keygen cd ~/. ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys chmod 700 ~/. ssh |
2. 允许秘钥认证,配置免密登录
1 2 3 4 5 6 | vi /etc/ssh/sshd_config # 查找并设置如下参数 PubkeyAuthentication yes # 重启 ssh 服务 systemctl restart sshd |
将 .ssh 目录压缩并下载至本地,解压至本地用户目录下,如 C:\Users\lzwme\.ssh
(Windows),或 /User/lzwme/.ssh
(Macbook)。一般常见的 ssh 终端软件,都会尝试读取用户目录下的 .ssh/rsa 文件作为默认的 ssh 秘钥,也会提供手动选择的方式。
这里 ssh 终端软件使用的主要是 id_rsa
私钥来访问远程服务器。
此外,只需要将 id_rsa.pub
在其他任意一台 Linux 服务器上设置到 ~/.ssh/authorized_keys
文件中,即可免密登录到该服务器。
免费的 ssh 终端软件推荐使用 FinalShell(仅支持windows)、electerm 或 nxshell。
3. 禁用密码登录方式
当以秘钥方式可以成功登录后,为了安全起见,可以设置禁用密码登录方式:
1 2 3 4 5 6 7 | vi /etc/ssh/sshd_config # 查找并设置如下参数 PasswordAuthentication no # 重启 ssh 服务让设置生效 systemctl restart sshd |
完。