环境: window、centos7、vm
工具: 终端
目标: 实现window访问master/nginx1/nginx2; master访问nginx1/nginx2; nginx1/nginx2访问master免密码;nginx1与nginx2互相访问免密码。
实现: ssh命令可以远程访问某台设备, 但是需要输入密码; 我们要实现的就是无需密码访问
分析: A设置如果想无密码访问B设备, 只需把~/.ssh/id_rsa.pub放到B设备的~/.ssh/文件夹下, 拼接到autorized_keys文件中
1.生成公钥私钥
指令: ssh-keygen
然后把这个指令在两个虚拟机上分别执行一次
3.看主机,ls,查看是否出现了authorized_keys
4.ssh-copy-id 另一台的pid地址 — ssh-copy-id 192.168.235.130
5.ssh 192.168.80.129
6.ip a
以上步骤两台都需要进行,写入第6)步将会进入第二台,查看ip确定,最后exit退出第二台
使win主机能免密码登录:
ssh-copy-id 本虚拟机的pid — ssh-copy-id 192.168.235.129
ssh 本虚拟机的pid
指令: scp id_rsa.pub luds@master:~/.ssh/
指令: scp id_rsa.pub luds@slave0:~/.ssh/
指令: scp id_rsa.pub luds@slave1:~/.ssh/
以下是另一种:
环境: Mac OS
工具: 终端
目标: 实现mac访问master/slave0/slave1; master访问slave0/slave1; slave0/slave1访问master免密码
实现: ssh命令可以远程访问某台设备, 但是需要输入密码; 我们要实现的就是无需密码访问
分析: A设置如果想无密码访问B设备, 只需把~/.ssh/id_rsa.pub放到B设备的~/.ssh/文件夹下, 拼接到autorized_keys文件中
准备工作: 把master和slave0/slave1添加到hosts文件中
指令: sudo vi /etc/hosts
添加如下代码
生成公钥私钥
指令: ssh-keygen
然后把这个指令在mac和三个虚拟机上分别执行一次
指令: cd ~/.ssh
指令: scp id_rsa.pub luds@master:/home/luds/.ssh/mac.pub
指令: scp id_rsa.pub luds@slave0:/home/luds/.ssh/mac.pub
指令: scp id_rsa.pub luds@slave1:/home/luds/.ssh/mac.pub
指令: ssh luds@master
然后输入master机器上luds的密码就可以连接了, 这次访问还需要密码
5. 切换到家目录下.ssh文件下
指令: cd ~/.ssh
指令: touch authorized_keys
把mac传过来的mac.pub文件内容追加到authorized_keys后面
指令: cat mac.pub >> authorized_keys
权限修改:1.chmod 700 .ssh 2.chmod 600 .ssh/*
指令: exit
指令: ssh luds@master
这个时候你会发现: 不需要密码了! 搞定!
finally: 这样, 我们就完成了 mac 访问 master 不需要访问
然后照葫芦画瓢, 再去slave0和slave1上做同样的操作, 把mac.pub文件的内容追加到authorized_keys中
指令: ssh luds@master
然后输入master机器上luds的密码就可以连接了, 这次访问还需要密码
登录成功后, 用户这这样子的: