環境: 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
然後把這個指令在兩個虛擬機上分別執行一次
- 進入.ssh,切換目錄到~/.ssh下
指令: cd ~/.ssh
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
- 把 id_rsa.pub 文件發送到三個虛擬機上,
指令: 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
添加如下代碼
- mac 訪問 master
生成公鑰私鑰
指令: ssh-keygen
然後把這個指令在mac和三個虛擬機上分別執行一次
- 切換目錄到~/.ssh下
指令: cd ~/.ssh
- 把 id_rsa.pub 文件發送到三個虛擬機上, 並命名爲 mac.pub
指令: 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
- 遠程連接到 master 機器
指令: ssh luds@master
然後輸入master機器上luds的密碼就可以連接了, 這次訪問還需要密碼
5. 切換到家目錄下.ssh文件下
指令: cd ~/.ssh
- 新建一個 authorized_keys 文件
指令: 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中
- 遠程連接到 master 機器
指令: ssh luds@master
然後輸入master機器上luds的密碼就可以連接了, 這次訪問還需要密碼
登錄成功後, 用戶這這樣子的:
詳情見圖: