免密碼訪問

環境: 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

然後把這個指令在兩個虛擬機上分別執行一次

  1. 進入.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

  1. 把 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

添加如下代碼

  1. mac 訪問 master

生成公鑰私鑰

指令: ssh-keygen

然後把這個指令在mac和三個虛擬機上分別執行一次

  1. 切換目錄到~/.ssh下

指令: cd ~/.ssh

  1. 把 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

  1. 遠程連接到 master 機器

指令: ssh luds@master

然後輸入master機器上luds的密碼就可以連接了, 這次訪問還需要密碼
這裏寫圖片描述
5. 切換到家目錄下.ssh文件下

指令: cd ~/.ssh

  1. 新建一個 authorized_keys 文件

指令: touch authorized_keys

把mac傳過來的mac.pub文件內容追加到authorized_keys後面

指令: cat mac.pub >> authorized_keys

權限修改:1.chmod 700 .ssh 2.chmod 600 .ssh/*

  1. 退出遠程連接的用戶

指令: exit

  1. 重新登錄遠程用戶

指令: ssh luds@master

這個時候你會發現: 不需要密碼了! 搞定!

finally: 這樣, 我們就完成了 mac 訪問 master 不需要訪問

然後照葫蘆畫瓢, 再去slave0和slave1上做同樣的操作, 把mac.pub文件的內容追加到authorized_keys中

  1. 遠程連接到 master 機器

指令: ssh luds@master

然後輸入master機器上luds的密碼就可以連接了, 這次訪問還需要密碼

登錄成功後, 用戶這這樣子的:

詳情見圖:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章