一、配置需求及思路
假设现在有2台已能互相ping通的linux主机,分别为:
- A机:
zyz@192.168.175.100
(linux中的用户名为zyz,ip地址为192.168.175.100) - B机:
root@192.168.175.132
(linux中的用户名为root,ip地址为192.168.175.132)
现要求zyz@192.168.175.100可免输入密码登陆到root@192.168.175.132,配置思路:
- zyz@192.168.175.100生成公钥文件(id_rsa.pub)和私钥文件(id_rsa)
- zyz@192.168.175.100将公钥(id_rsa.pub)追加到root@192.168.175.132的ssh免密登陆文件authorized_keys,此时会要求人工输入ssh root@192.168.175.132的密码,这样确保了root@192.168.175.132的authorized_keys中每一行都是已经验证通过的授权节点的公钥
- 当zyz@192.168.175.100尝试ssh登陆root@192.168.175.132时,root@192.168.175.132返回的公钥能和zyz@192.168.175.100本地的私钥匹配,故完成了登陆验证,顺利登陆。
二、配置步骤
zyz@192.168.175.100的操作:
# 在用户zyz的主目录的.ssh文件夹中,生成公钥文件(id_rsa.pub)和私钥文件(id_rsa)
ssh-keygen -t rsa
# 以下默认3次回车就ok
#Enter file in which to save the key (/home/zyz/.ssh/id_rsa):
#Enter passphrase (empty for no passphrase):
#Enter same passphrase again:
# 进入当前用户zyz的主目录中的.ssh文件夹,可看到已生成公钥文件(id_rsa.pub)和私钥文件(id_rsa)
cd ~/.ssh
# 将刚生成的公钥文件的公钥,追加到root@192.168.175.132的root用户主目录的.ssh文件夹的免密登陆文件authorized_keys
ssh-copy-id -i id_rsa.pub root@192.168.175.132 # 此时会要求人工输入`ssh root@192.168.175.132`的密码
# 免密登陆root@192.168.175.132
ssh root@192.168.175.132
root@192.168.175.132的操作:
# 在192.168.175.132的root用户的主目录的.ssh文件夹的免密登陆授权文件authorized_keys,可看到一条关于zyz@192.168.175.100的私钥条目,其内容完全和zyz@192.168.175.100的公钥一致
cd /root/.ssh
cat authorized_keys
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHMr2huGBd24q6u+A/QnnAhqOrjrL+QFmIQQXD3sqoM7CljOghajka7qD6sZfb4wlP7vY6yoHtH5Ty68jNyaSTNjipLfaqN+zvp5f9RIugSaXcq4j5bc5PJ4Va6sEwVRgc4u7cBiLKhQ4GRPwS/YQABUuw/xuEk1u/kiNoJyXh/M2SZNqIPirpXPzh9AaI/0FphyPoXB8oSYj83Mt4E3P77lCO1Agw1+FkfIKO3Qj1bSkSZcDKmKH3w4hSjD4479OCUwJX7PyvmcjigE6Z4fiUFprSYHQS3LDiXTNzHXObUArcUsy25ZKBsrsSBvfpd4I/cD+EYASuBI/NJIWBA+Gx zyz@localhost.localdomain