假设有A和B两个主机。
目的:实现A远程连接B无需密码。
1 主机A和B生成密钥
ssh-kegen -t rsa
进入“.ssh”会生成以下几个文件:
- authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
- id_rsa : 生成的私钥文件
- id_rsa.pub : 生成的公钥文件
- know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
- ssh目录的权限必须是700
- ssh/authorized_keys文件权限必须是600
2 将主机A的公钥内容(id_rsa.pub)添加到主机B的authorized_keys中
主机A中执行:
scp -p $A/id_rsa.pub user@<remote_ip>:/home/user/.ssh/authorized_keys #$A:表示主机A中.ssh的目录
主机B中执行:
cd ~/.ssh
chmod 600 authorized_keys