需求
- 有两个主机
h1和h2
–h1上的用户是user1,IP是192.168.1.11
–h2的用户user2,IP是192.168.1.22 - 需要在
h1上通过ssh user2@h2指令ssh到h2的user2,且不需要输入密码;
同理在h2上通过ssh user1@h1指令ssh到h1的user1
分两步
1. 通过主机名解析IP
在h1, h2 的 /etc/hosts文件中都添加如下内容:
192.168.1.11 h1
192.168.1.22 h2
这时候h1,h2上已经可以 互相通过 ssh user2@h2 来登录对方了,只是还需要输入密码
2. 配置ssh免秘钥
2.1. 分别安装ssh
sudo apt-get install openssh-server
2.2 生成公钥和私钥
此步骤 h1, h2 都需要执行
ssh-keygen -t rsa
一路敲回车
cd ~/.ssh就会发现多了如下文件:
id_rsa 和id_rsa.pub分别是私钥、公钥文件
2.3 主机 h2 向 h1 发送公钥
在h2上执行以下指令
scp .ssh/id_rsa.pub user1@h1:~
将h2的id_rsa.pub文件复制到 h1 上
2.4 主机 h1 汇总公钥,并拷贝给 h2
在h1上执行以下指令
cat ~/.ssh/id_rsa.pub >> /.ssh/authorized_keys # h1自己的公钥
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys # h2的公钥
scp ~/.ssh/authorized_keys user2@h2:~/.ssh/authorized_keys # 汇总后的公钥发给h2
2.5 重启 ssh 服务
sudo service ssh restart

京公网安备 11010502036488号