linux ssh scp sftp 無密碼登陸

假如你Linux Client是客戶端, Server爲服務器,用戶名爲user。如今要配置從Client到Server的無密碼SSH登陸。安全

1:在Client上產生一對密鑰,執行ssh-keygen命令,須要輸入的地方直接回車,接受缺省值便可,輸出以下:服務器

[user@Client .ssh]$ ssh-keygen -d
Generating public/private dsa key pair.ssh



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@Clientide

這時候,在/home/user/.ssh目錄下,存有一對密鑰id_dsa和id_dsa.pub。加密

2:當公鑰id_dsa.pub以任何方式上傳到Server上,如:spa

[user@Client .ssh]$ scp id_dsa.pub Server:/home/userit

3:登陸到Server上,執行如下命令io

cat id_dsa.pub >> /home/user/.ssh/authorized_keysclass

這樣就完成了配置,此時從Client登陸Server,就無需輸入密碼了。這種方式是安全的,你徹底不用擔憂別人從其它機器上也能夠無密碼登陸Server。這個基本原理是這樣:登錄

你在client上產生的id_dsa和id_dsa.pub是一對密鑰,只有用私鑰id_dsa才能解開公鑰id_dsa.pub。如今你把公鑰存在服務器上,你登陸服務器的時候,服務器會給提供通過公鑰id_dsa.pub(其內容存在authorized_keys裏)加密的數據讓你解密,你的機器上用id_dsa這把私鑰,去解密,解開以後Server放行。而別人的機器上沒有id_dsa這個私鑰,天然沒法解密,從而沒法無密碼登陸了。

固然,你要保證你機器上的私鑰的安全。不然,若是別人取得了你的私鑰,就比如別人取得了你房間的鑰匙,而後就能夠拿去開你家房門了

相關文章
相關標籤/搜索