需要實現的效果:
假設有兩台伺服器:」192.168.0.2」 和 「192.168.0.3」
需要實現:在伺服器」192.168.0.2」上實現ssh無密碼連線伺服器」192.168.0.3」
實現步驟:
1) 在」192.168.0.2」伺服器上使用"ssh-keygen -t rsa"
命令來建立公鑰。
(會問你存放的目錄,如果不需要修改,直接回車兩次即可,預設儲存路徑為」~/.ssh/」)
2) 將第一步生成的"~/.ssh/id_rsa.pub"
這個檔案拷貝到」192.168.0.3」伺服器的」~/.ssh/」目錄中並改名為」authorized_keys」。
3) 修改」192.168.0.3」伺服器的 「~/.ssh/」 目錄許可權為700,」~/.ssh/authorized_keys」檔案許可權為600。
4) 在」192.168.0.2」伺服器上用ssh命令連線」192.168.0.3」伺服器。
可能還會提示輸入密碼的解決方法:
1) 如果出現報警:」address x.x.x.x maps to localhost, but this does not map back to the address - possible break-in attempt!」。
在」192.168.0.2」(連線端)伺服器上執行如下命令:
echo 「gssapiauthentication no」 >> ~/.ssh/config
在」192.168.0.2」(被連線端)伺服器上執行」vi /etc/ssh/sshd_config」命令,修改下面兩項值為」no」 :
"gssapiauthentication no"
"usedns no"
2) 如果出現報警:」agent admitted failure to sign using the key.」
執行命令:」ssh-add」(把專用金鑰新增到ssh-agent的快取記憶體中)
如果還不行,執行命令:」ps -af | grep agent 」
(檢查ssh**是否開啟,如果有開啟的話,kill掉該**)
然後執行」ssh-agent」(重新開啟乙個ssh**)
如果還是不行,繼續執行命令:」sudo service sshd restart」(重啟一下ssh服務)
3) 通過命令」/usr/sbin/sestatus -v」 檢視selinux狀態,如果」selinux status」引數為」enabled」(開啟狀態),則關閉selinux。
臨時關閉方法(不用重啟機器):」setenforce 0」
修改配置檔案關閉方法(需要重啟機器):執行命令」/etc/selinux/config」,將」selinux=enforcing」改為」selinux=disabled」
4) 執行命令」vim /etc/ssh/sshd_config」去掉下面三行的注釋:
「rsaauthentication yes」
「pubkeyauthentication yes」
「authorizedkeysfile .ssh/authorized_keys」
ssh免密碼登入原理:
這種方式你需要在客戶端伺服器上為自己建立一對密匙,並把公匙放在需要登入的伺服器上。
當你要連線到伺服器上時,客戶端就會向伺服器請求使用密匙進行安全驗證。
伺服器收到請求之後,會在該伺服器上你所請求登入的使用者的家目錄下尋找你的公匙,
然後與你傳送過來的公匙進行比較。
如果兩個密匙一致,伺服器就用該公匙加密「質詢」並把它傳送給客戶端。
客戶端收到「質詢」之後用自己的私匙解密再把它傳送給伺服器。
使用場景:
1) rsync自動備份時免密碼登入;
2) 集群環境中需要主機間互相通訊;
3) 自動部署專案,將編譯好的war包放到正確的伺服器上。
兩台伺服器SSH免密登入設定
目標 從伺服器a免密登入伺服器b 1.在伺服器a生成金鑰檔案,直接使用以下命令 ssh keygen中間遇到輸入內容一路回車即可,完成後會在 ssh 目錄下生成兩個檔案 id rsa 私鑰檔案 和 id rsa.pub 公鑰檔案,在伺服器b要用到的 2.登入伺服器b,編輯 ssh authorize...
SSH配置免密登入 兩台伺服器之間scp免密傳輸
1 兩台伺服器 a 192.168.1.150 b 192.168.1.153 配置的結果是b機器可以免密碼登入到a伺服器。2 在b伺服器上生成本機的公私金鑰 ssh keygen t rsa p 一路回車,然後在 ssh下會生成兩個檔案id rsa,id isa.pub 將id isa.pub中的...
SSH遠端登入 兩台或多台伺服器之間免密登入設定
有兩台 或多台 同區域網的伺服器a 192.168.2.21,b 192.168.2.25。讓a,b這兩台伺服器之間能兩兩互相免密登入,並且每台伺服器都可以自我免密登入 自我免密登入即 ssh localhost 時不需要密碼 一 讓伺服器a實現免密登入自己 1 在a伺服器中指定的位置 root s...