SSH 免密登录
环境说明
关键点
- 免密登录的关键点在于理解谁登录谁。
- A 生成的公钥给 B,也给 C、D,则 A 可以直接免密 SSH 登录 B、C、D
A 生成密钥
- 在 A 机器上输入命令:
ssh-keygen
- 生成的密钥目录在:/root/.ssh
- 写入:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
- 测试:
ssh localhost
把 A 的公钥发给 B
- 假设 B 机器的 ip:
192.168.1.105
- 则在 A 机器上输入:
ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 [email protected]
,根据提示输入 B 机器的 root 密码,成功会有相应提示
测试 A 免密登录到 B
如果是用 pem 登录的话,用 ssh-copy-id 是无法使用的
- 先保存 A 的 pub 到本地:
sz /root/.ssh/id_rsa.pub
- 登录 B 机子:
cd /root/.ssh/
- 如果 B 机子没有 authorized_keys 文件则创建:
touch /root/.ssh/authorized_keys
- 设置权限:
chmod 600 /root/.ssh/authorized_keys
- 上传 pub 文件到 B 机子,并在 B 机子上执行:
cd /root/.ssh/ && cat id_rsa.pub >> authorized_keys