1、SSH概念(百度)git
SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲創建在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。利用 SSH 協議能夠有效防止遠程管理過程當中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其餘操做平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎全部UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其餘平臺,均可運行SSH。安全
SSH驗證:從客戶端來看,SSH提供兩種級別的安全驗證。服務器
第一種級別(基於口令的安全驗證)
只要你知道本身賬號和口令,就能夠登陸到遠程主機。全部傳輸的數據都會被加密,可是不能保證你正在鏈接的服務器就是你想鏈接的
服務器。可能會有別的服務器在冒充真正的服務器,也就是受到「中間人」這種方式的攻擊。
第二種級別(基於密匙的安全驗證)
須要依靠
密匙,也就是你必須爲本身建立一對密匙,並把公用密匙放在須要訪問的服務器上。若是你要鏈接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求以後,先在該服務器上你的主目錄下尋找你的公用密匙,而後把它和你發送過來的公用密匙進行比較。若是兩個密匙一致,服務器就用公用密匙加密「質詢」(challenge)並把它發送給客戶端軟件。客戶端軟件收到「質詢」以後就能夠用你的私人密匙解密再把它發送給服務器。
用這種方式,你必須知道本身密匙的
口令。可是,與第一種級別相比,第二種級別不須要在網絡上傳送口令。
2、SSH密鑰驗證的機制
3、SSH無密碼(密鑰驗證)登陸的配置網絡
配置主機A免密登陸到主機B(方法一)
1.在主機A生產密鑰對: ssh-keygen -t rsa, 會在用戶主目錄下.ssh目錄下產生密鑰文件
2.拷貝主機A的公鑰到主機B: scp id_rsa.pub
3.將主機A的公鑰加到主機B的受權列表.ssh/authorized_keys(若不存在,手動建立): cat id_rsa.pub >> authorized_keys
4.受權列表authorized_keys的權限必須是600,chmod 600 authorized_keys
(方法二)
#進入到個人home目錄 cd ~/.ssh
ssh-keygen -t rsa (四個回車)
執行完這個命令後,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免登錄的機器上: ssh-copy-id localhost