須要實現的效果:
有兩台server:"192.168.201.236" 和 "192.168.201.237"
須要實現:在server"192.168.201.236"上實現ssh無password連線server"192.168.201.237"
實現步驟:
1) 在"192.168.201.236"server上使用"ssh-keygen -t rsa"命令來建立公鑰。
(會問你存放的資料夾,假設不須要改動。直接回車兩次就可以,預設儲存路徑為"~/.ssh/")
2) 將第一步生成的"~/.ssh/id_rsa.pub"這個檔案複製到"192.168.201.237"server的"~/.ssh/"資料夾中並改名為"authorized_keys"。
3) 改動"192.168.201.237"server的"~/.ssh/"資料夾許可權為700,"~/.ssh/authorized_keys"檔案許可權為600。
(這是linux的安全要求,假設許可權不正確,自己主動登入將不會生效。)
4) 在"192.168.201.236"server上用ssh命令連線"192.168.201.237"server。
(例如以下圖。則為連線成功。
注:30330為237serverport。
)
可能還會提示輸入password的解決方法:
1) 假設出現報警:"address x.x.x.x maps to localhost, but this does not map back to the address - possible break-in attempt!"。
在"192.168.201.236"(連線端)server上執行例如以下命令:
echo
"gssapiauthentication no" >> ~/.ssh/config
在"192.168.201.237"(被連線端)server上執行"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免password登入原理:
這樣的方式你須要在clientserver上為自己建立一對密匙,並把公匙放在須要登入的server上。
當你要連線到server上時,client就會向server請求使用密匙進行安全驗證。
server收到請求之後,會在該server上你所請求登入的使用者的家資料夾下尋找你的公匙,
然後與你傳送過來的公匙進行比較。
假設兩個密匙一致,server就用該公匙加密「質詢」並把它傳送給client。
client收到「質詢」之後用自己的私匙解密再把它傳送給server。
使用場景:
1) rsync自己主動備份時免password登入;
2) 集群環境中須要主機間互相通訊。
3) 自己主動部署專案,將編譯好的war包放到正確的server上。
Linux免密服務 SSH
過程很簡單 首先準備好你需要免密的虛擬機器 第一步,在每一台上面執行 連按三下空格,就生成了這台虛擬機器的公鑰和私鑰,具體位置在 root ss 件夾下,這是個隱藏檔案,可以使用 ll a 檢視 第二步,在每台虛擬機器上執行 需要輸入一次目的虛擬機器的密碼 這裡就是將生成的公鑰拷貝給別的虛擬機器,一...
Linux免密SSH登入
ssh工作機制 ssh免密碼登入 一.ssh工作機制 ssh為secure shell 安全外殼協議 的縮寫。很多ftp pop和telnet在本質上都是不安全的。我們使用的xshell6就是基於ssh的客戶端實現。ssh的服務端實現為openssh deamon。在linux上使用ssh ssh ...
Linux免SSH密碼登入
ssh免密碼登入,做個總結吧!1.安裝ssh服務 略過 2.場景 需要配置主機a無密碼登入主機b 在主機a上執行如下 cd ssh ssh keygen t rsa 生成金鑰檔案 cp id rsa.pub authorized keys 這步完成後,正常情況下就可以無密碼登入本機了,即ssh lo...