Wednesday, February 27, 2013

sftp 配置

假如你Linux Client是客戶端, Server為服務器,用戶名為user。現在要配置從Client到Server的無密碼SSH登錄。
1:在Client上產生一對密鑰,執行ssh-keygen命令,需要輸入的地方直接回車,接受缺省值即可,輸出如下:
[user@Client .ssh]$ ssh-keygen -d
Generating public/private dsa key pair.

 

Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
22:0c:2e:64:09:2e:a9:f1:37:c5:ee:d9:e5:57:92:b4 user@Client 這時候,在/home/user/.ssh目錄下,存有一對密鑰id_dsa和id_dsa.pub。
2:當公鑰id_dsa.pub以任何方式上傳到Server上,如:
[user@Client .ssh]$ scp id_dsa.pub Server:/home/user
3:登錄到Server上,執行以下命令
cat id_dsa.pub >> /home/user/.ssh/authorized_keys
這樣就完成了配置,此時從Client登錄Server,就無需輸入密碼了。這種方式是安全的,你完全不用擔心別人從其它機器上也可以無密碼登錄Server。這個基本原理是這樣:
你在client上產生的id_dsa和id_dsa.pub是一對密鑰,只有用私鑰id_dsa才能解開公鑰id_dsa.pub。現在你把公鑰 存在服務器上,你登錄服務器的時候,服務器會給提供經過公鑰id_dsa.pub(其內容存在authorized_keys裡)加密的數據讓你解密,你 的機器上用id_dsa這把私鑰,去解密,解開之後Server放行。而別人的機器上沒有id_dsa這個私鑰,自然無法解密,從而無法無密碼登錄了。
當然,你要保證你機器上的私鑰的安全。否則,如果別人取得了你的私鑰,就好比別人取得了你房間的鑰匙,然後就可以拿去開你家房門了
本文出自 「先鋒的家園」 博客,請務必保留此出處http://jackwxh.blog.51cto.com/2850597/881835
HomeAny source

No comments:

Post a Comment