需求
為了保證一台linux主機的安全,所以我們每個主機登入的時候一般我們都設定賬號密碼登入。但是很多時候為了操作方便,我們都通過設定ssh免密碼登入。
在這裡我對本地機器cloud10和目標機器cloud11、cloud12進行免密登入
大致的三步
1.本地機器生成公私鑰
2.上傳公鑰到目標機器
3.測試免密登入
具體操作
1.準備工作
使用root許可權分別修改每台機器的hosts,新增每台機器所對應的ip和主機名(我這裡分布式集群是3臺機器組成的,所以配置3臺,習慣將自己的ip和主機名放在第一行)
sudo vim /etc/hosts
刪除檔案裡內容後新增如下內容
檢視本地機器的隱藏檔案 .ssh
ll -a
2.在本地機器用ssh-keygen 生成乙個公私鑰對
在ssh目錄下進行,輸入三個回車
進入.ssh目錄 cd .ssh
發起公鑰請求 ssh-keygen -t rsa
在.ssh/目錄下,會新生成兩個檔案:id_rsa.pub和 id_rsa
3.上傳公鑰到目標機器
ssh-copy-id [email protected]
ssh-copy-id hduser@cloud12
注意:(@前邊是接受公鑰機器的使用者名稱,後邊是接受放的ip,因為配置了對映所以ip可以用主機名代替)
檢視遠端從節點主機上是否接收到 authorized_keys檔案
這個時候cloud10的公鑰檔案內容會追加寫入到cloud11的 .ssh/authorized_keys
檔案中檢視cloud11下的authorized_keys檔案與cloud10下的id_rsa.pub中內容是一樣的,如下圖所示
重啟 ssh服務命令使其生效:(3臺機器都要重啟)
sudo service sshd restart
另外我們要注意,
.ssh目錄的許可權為700,其下檔案authorized_keys和私鑰的許可權為600。否則會因為許可權問題導致無法免密碼登入。我們可以看到登陸後會有known_hosts檔案生成。
chmod -r 700 .ssh/
sudo chmod 600 .ssh/authorized_keys
4.測試免密登入
使用ip免密登入(使用者名稱相同時,ssh+主機名;如果不同,登入方式就是 ssh+使用者名稱@ip位址)
ssh cloud10
ssh cloud11
ssh cloud12
退出免密登入
exit
SSH免密登入
a為本地主機 b為遠端主機 生成公鑰私鑰對 ssh keygen t rsa登入遠端機器 ssh root 然後輸入密碼 將.ssh的許可權設為700 mkdir ssh 如果資料夾已存在,跳過 chmod 700 ssh將本地生成的rsa公鑰複製到遠端機器 scp ssh id rsa.pub r...
SSH免密登入
當我們在配置多台計算,使之可以相互使用無密碼登入 ssh,之前都是一台一台的配置,現在一台a上新增b,然後在另一台b上再次新增a,這樣使得authorized keys中的內容相同,但時並不是完全相同,比如新增順序。如果超過2臺,這種配置就相當複雜了,而且容易出錯。後來,在網上看到了一種簡單的配置,...
SSH免密登入
前提 本地和遠端伺服器都已經安裝了ssh 遠端伺服器ip 192.168.1.145 遠端登入使用者 admin 本地命令 1 ssh keygen t rsa p 一路回車 2 scp ssh id rsa.pub admin 192.168.1.145 home admin ssh 3 按提示輸...