環境:4臺linux redhat 6.4 機器(192.168.1.126、192.168.1.127、192.168.1.128、192.168.1.130),
配置各台機器hadoop 使用者的免密認證登陸,建立相互信任關係
4臺機器分別操作一次:
說明:ssh-keygen -t [rsa|dsa],將會生成私鑰檔案和公鑰檔案 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub; -t 用來指定加密方式,若不指定,預設rsa,建議使用rsa
a機器若要免密訪問b機器,則b機器中一定要存在a機器的公鑰:即/home/hadoop/.ssh/authorized_keys中存在a機器id_rsa.pub檔案的內容
127,128,130機器分別交出自己的公鑰給126:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
若b機器不存在.ssh資料夾或authorized_keys檔案,則會自動建立對應目錄或檔案;若已存在則將a的公鑰附加到authorized_keys檔案中(不會覆蓋原內容))
檢視126的authorized_keys 可以發現存在其他3臺機器的公鑰檔案內容
然後在126上,將126自身的公鑰檔案內容也附加到authorized_keys,建立與本身的免密關係:
注:也可以通過scp或手動建立複製 生成authorized_keys檔案及其包含的公鑰內容
將126上包含所有機器公鑰的authorized_keys檔案分發到其他機器~./.ssh/目錄下
注:1. 也可以通過nfs方式共享服務端的authorized_keys檔案 --> 便於修改:
(nfs檔案共享參考:
授權檔案放入共享目錄: mv authorized_keys /opt/share
只能本使用者具有對金鑰檔案的寫許可權,必須修改許可權: chmod 644 ~/.ssh/authorized_keys
ps: 若修改許可權失敗,則需要檢視共享目錄對映的屬主是否正確(可能nfs客戶端使用者與服務的使用者的uid&gid不一致,nfs根據id對映許可權)
2. 免密碼後可能依然有乙個提示性驗證,需要手動輸入yes --> 影響後續程式間的互動
vim /etc/ssh/ssh_config
# 在/etc/ssh/ssh_config 檔案末尾新增:
3. 配置後依然無法生效: 檔案或資料夾許可權問題
檔案許可權: chmod 600 ~/.ssh/*
資料夾許可權: chmod 700 ~/.ssh
(如果依然不行,將.ssh的上級目錄也設定700許可權)
具體報錯可以檢視日誌:tail -30 /var/log/secure
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 按提示輸...