如何實現不需要口令認證的ssh登陸

ssh 是一種安全的網絡協議,用於計算機之間的加密登陸。
正是由於這樣的安全性,ssh協議被廣泛地應用。

由於ssh是一種協議,所以就可能存在多種實現,比如 開源實現 OpenSSH, 和 windows 平臺下的實現 PuTTY.

以下方法的詳細步驟針對的是Linux 平臺下的OpenSSH實現。

-----------------------------------------------------------------------------------------------------

以上所指的不需要口令認證的ssh登陸其實是使用公鑰登陸。

概括來說需要這樣的步驟:

1. 本機生成用於加密通信的公鑰。

2. 將公鑰上傳給需要登陸的遠程服務器。



首先本機要生成自己的公鑰

$ ssh-keygen

隨着一路默認的設置,在$HOME/.ssh 目錄下會生成以下兩個新文件:id_rsa.pub 和 id_rsa 
前一個文件是用來存儲公鑰,後一個是私鑰。

其次將自己本機的公鑰上傳給遠程需要登錄的服務器

這裏需要特別注意以下遠程服務器端 ssh 配置目錄下authorized_keys 文件。

如果是你的主機是Linux那就很簡單,執行下面這條命令就可以了

$ ssh-copy-id user@host

user: 遠程主機的ssh用戶 
host:遠程主機的host名

如果你的主機不幸沒有這樣的命令,那就使用以下命令:

$ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
user,host的含義同上。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章