免密登录操作
A机器需要免密登录B机器,以下操作都是A机器上操作
- 生成ssh密钥对(一路回车键就行)
ssh -keygen -t rsa
- 将公钥发送到需要免密登录得机器上(这一步需要输入相应账号得密码)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@124.222.138.223
- 验证(如果不需要输入密码直接连接上,说明免密登录成功)
ssh root@124.222.138.223
tips:
1.免密之后scp命令也不需要输入密码
2.如果是A机器需要免密登录到B机器,是需要将A机器得ssh公钥拷贝到B机器
原理
当A将公钥拷贝给B后,在A向B发送登录请求时候:
- B得到A的登录请求信息,然后在自己的
/root/.ssh/authorized_keys
文件中找,是否存在B的主机名和用户名 - 如果存在,会随机生成一个字符串,并使用A拷贝给B的公钥加密,然后发送给B
- B拿到A加密后的字符串,使用自己的私钥解密,然后将解密字符串发送给B
- B验证A发送过来的解密字符串和远字符串是否一致,一致就允许A免密登录B