SSH 免密登录配置指南
目录
SSH(Secure Shell)是 Linux 下最常用的远程连接协议。默认方式需要每次输入密码,通过配置密钥认证可以实现免密登录,提升效率和安全性。
生成密钥对
直接运行 ssh-keygen -t rsa

这样会在用户的 .ssh 文件夹中生成密钥文件:

id_rsa:私钥,保留在本地,不可泄露id_rsa.pub:公钥,需要复制到远程服务器
复制公钥到远程服务器
只需要将其中的 id_rsa.pub 文件复制到目标机器就可以实现无密码访问目的机器了

使用 scp 命令,中途会提示输入目的机器的密码,直接输入即可,下图是直接将文件复制到 root 用户的目录中的
导入公钥到 authorized_keys
之后还需要将其导入到 .ssh/authorized_keys

使用 ssh 登录目的机器

此时并没有将公钥导入到 authorized_keys 中所以仍然需要密码,输入密码后继续 将公钥导入到 authorized_keys 中

之后再切回本地的机器,再次运行 ssh

此时已经可以实现免密码登陆了。前提是本地用户名和远程的用户名相同,才可以使用 ssh remote_host 直接登录。
验证登录
配置完成后,直接 SSH 连接远程服务器,如果不再提示输入密码则说明配置成功:
ssh user@remote_host进阶:SSH Config 简化连接
当管理多台服务器时,可以在 ~/.ssh/config 中配置别名:
Host myserver
HostName 192.168.1.100
User root
IdentityFile ~/.ssh/id_rsa之后只需 ssh myserver 即可连接,无需记住 IP 和用户名。