OPENSSH密鑰登錄-免密碼認證登錄(轉載)

OPENSSH密鑰免密碼認證登錄(轉載)linux

2014.3.17
by:byz033
假設 A=客戶機   B=服務器安全

要達到的目的:
A機器ssh登陸B機器無需輸入密碼;
加密方式選 rsa|dsa都可以,默認dsa;服務器

2、具體操做流程
一、客戶機建立私鑰與公鑰。
linux下命令爲:ssh-keygen -t [rsa|dsa],將會生成密鑰文件和私鑰文件 id_rsa(密鑰),id_rsa.pub(公鑰)或id_dsa,id_dsa.pubssh

二、將生成的 .pub (公鑰)文件複製到B機器的root用戶目錄 /root/.ssh ; 並更名id_dsa.pub爲authorized_keys
linux下命令爲:mv id_dsa.pub /root/.ssh/authorized_keyside


三、設置文件和目錄權限:只容許用戶全部者所有權限700。
linux下命令爲:
chmod 600 authorized_keys
chmod 700 -R /root/.ssh加密


3、雙向登錄的操做過程:未驗證ip

一、ssh-keygen作密碼驗證可使在向對方機器上ssh ,scp不用使用密碼.具體方法以下:
二、兩個節點都執行操做:#ssh-keygen -t rsa
  而後所有回車,採用默認值.it

三、這樣生成了一對密鑰,存放在用戶目錄的~/.ssh下。
將公鑰考到對方機器的用戶目錄下 ,並將其複製到~/.ssh/authorized_keys中(操做命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys )。class



4、總結登錄

一、文件和目錄的權限千萬別設置成chmod 777.這個權限太大了,不安全,數字簽名也不支持。

二、生成的rsa/dsa簽名的公鑰是給對方機器使用的,這個公鑰內容還要拷貝到authorized_keys

三、linux之間的訪問直接 ssh 機器ip
四、某個機器生成本身的RSA或者DSA的數字簽名,將公鑰給目標機器,而後目標機器接收後設定相關權限(公鑰和authorized_keys權限),這個目標機就能被訪問了!

五、注意事項:要保證.ssh和authorized_keys都只有用戶本身有寫權限。不然驗證無效。(今天就是遇到這個問題,找了很久問題所在),其實仔細想一想,這樣作是爲了避免會出現系統漏洞。

相關文章
相關標籤/搜索