1. 生成 rsa 公私钥
登录远程 CentOS ssh 终端,执行如下命令:
# 若不需要密码,可一路回车到最后完成 ssh-keygen cd ~/.ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys chmod 700 ~/.ssh
2. 允许秘钥认证,配置免密登录
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. 禁用密码登录方式
当以秘钥方式可以成功登录后,为了安全起见,可以设置禁用密码登录方式:
vi /etc/ssh/sshd_config # 查找并设置如下参数 PasswordAuthentication no # 重启 ssh 服务让设置生效 systemctl restart sshd
完。