以机器 A(10.0.2.1)免密登录机器 B(10.0.2.100)为例。
安装 SSH
-
检测本机是否已安装 SSH 服务(没有任何输出说明未安装):
sudo ps -e | grep ssh -
安装 SSH 服务:
sudo apt-get install openssh-server
配置 SSH
1、在 A 机生成公钥/私钥对
ssh-keygen -t rsa -P ''
-P '' 表示不设置密钥密码(注意是两个单引号),-t 指定密钥类型。回车后可指定文件路径和文件名。
2、把公钥复制到 B 机
先确保 B 机上存在 ~/.ssh 目录,然后用 scp 复制:
scp ~/.ssh/xxx_rsa.pub root@10.0.2.100:~/.ssh/authorized_keys
3、修改 B 机上 authorized_keys 的权限
sudo chmod 600 ~/.ssh/authorized_keys
4、从 A 机免密登录 B 机
ssh -i ~/.ssh/xxx_rsa root@10.0.2.100
5、把私钥加入 ssh-agent
ssh-add xxx_rsa
注意事项
- 如果密钥对使用默认名称
id_rsa/id_rsa.pub,登录时不需要-i参数指定私钥; - 第一次登录会提示输入
yes,把远程主机加入known_hosts; - 私钥权限过宽会被拒绝:
Permissions 0444 for '~/.ssh/id_rsa' are too open,执行chmod 600 ~/.ssh/id_rsa修复。