用ssh-keygen來設置ssh無密碼登陸


在linux系統中,ssh是遠程登陸的默認工具,由於該工具的協議使用了RSA/DSA的加密算法.該工具作linux系統的遠程管理是很是安全的。telnet,由於其不安全性,在linux系統中被擱置使用了。

ssh有一套頗有用的工具,其中的ssh-keygen能夠用來生成private和public密鑰.將生成的public密鑰拷貝到遠程機器後,能夠使ssh到另一臺機器的登錄不用密碼.具體方法以下.

1) 在本地機器中的~/.ssh/目錄下執行下命令,

ssh-keygen -t dsa

將生成兩個文件,id_dsa和id_dsa.pub.

2) 將id_dsa.pub拷貝到遠程機器,而且將id_dsa.pub的內容添加到~/.ssh/authorized_keys中.

cat id_dsa.pub >>authorized_keys

注意:目錄.ssh和文件authorized_keys的權限必須是600.

完成這些工做後,用戶從本地機器到遠程機器的登陸就不用密碼了.

該設置簡單實用.


我是參考別的文章作的,直到出錯後,才搜索到以上那篇文章
一開始登陸時仍是須要密碼,提示信息以下:
[ddphp@www .ssh]$ ssh -p 6000 192.168.100.123 
ddphp@192.168.100.123's password: 
Permission denied, please try again.
ddphp@192.168.100.123's password: 
Permission denied, please try again.
ddphp@192.168.100.123's password: 
Permission denied (publickey,gssapi-with-mic,password).

ll /home/ddphp/.ssh,發現authorized_keys文件的屬性是664,按照以上文章將權限修改成600,順利登陸!php

相關文章
相關標籤/搜索