Windows下 SSH 通過密鑰登錄 Linux 服務器

引:之前在服務器上設置過SSH通過密鑰登錄,上次服務器重裝系統,之前的密鑰也就不能用了。無奈上次設置的過程忘了,在網上找了些教程,有的是不能用,有的是又囉嗦又沒用,所以決定自己寫一篇,作爲記錄。


一般通過密碼登錄遠程管理 Linux 服務器時,密碼容易被暴力破解。所以,一般的方法有三種:

1、將 SSH 的端口設置爲默認的 22 以外的端口;

2、禁用 root 賬戶登錄;

3、通過密鑰方式登錄。

密鑰方式登錄原理:利用密鑰生成器製作一對密鑰 —— 一隻公鑰和一隻私鑰。將公鑰添加到服務器的某個賬戶上,然後在客戶端利用私鑰即可完成認證並登錄。若沒有私鑰,任何人都無法通過 SSH 暴力破解密碼來遠程登錄。此外,若將公鑰複製到其他賬戶或主機,利用私鑰也可以登錄。


言歸正傳 

1.製作密鑰對

先用密碼登錄到你打算使用密鑰登錄的賬戶,然後執行以下命令:

eai@eai:~/.ssh$ ssh-keygen    <====== 建立密鑰對
Generating public/private rsa key pair.
Enter file in which to save the key (/home/eai/.ssh/id_rsa):    <====== enter 確認
Enter passphrase (empty for no passphrase):    <====== 輸入密鑰密碼鎖,或者直接enter默認無密碼
Enter same passphrase again:    <====== 再次輸入密鑰密碼鎖
Your identification has been saved in /home/eai/.ssh/id_rsa.    <====== 私鑰
Your public key has been saved in /home/eai/.ssh/id_rsa.pub.    <====== 公鑰
The key fingerprint is:
77:d0:af:76:97:fd:97:dd:e5:cc:47:01:1f:40:ae:b6 eai@eai
The key's randomart image is:
+--[ RSA 2048]----+
|            .o.  |
|           ... . |
|          . ..o .|
|           ... o |
|        S .o. . .|
|         .....  =|
|           Eo .*B|
|           . . oX|
|                +|
+-----------------+

現在,在  ~/.ssh 的目錄中生成了兩個密鑰文件。id_rsa 爲私鑰,id_rsa.pub 爲公鑰。


2.在服務器上安裝公鑰

eai@eai:~/.ssh$ cat id_rsa.pub >> authorized_keys

然後設置一下文件的權限:

eai@eai:~/.ssh$ chmod 600 authorized_keys
eai@eai:~/.ssh$ chmod 700 ~/.ssh 


3.設置SSH,打開密鑰登錄功能

確保 /etc/ssh/sshd_config 文件中相關設置(一般不用修改):

RSAAuthentication yes
PubkeyAuthentication yes

留意 root 用戶能否通過 SSH 登錄:

PermitRootLogin yes

當完成全部設置,以密鑰方式登錄成功後,可以禁用密碼登錄:

PasswordAuthentication no

最後,重啓 SSH 服務:

eai@eai:~/.ssh$ service sshd restart

如果重啓失敗:sshd: unrecognized service , 就查看SSH是否活動: eai@eai:~/.ssh$ service ssh status ,如果是類似 ssh start/running, process 1579, 

就直接這樣重啓: eai@eai:~/.ssh$ sudo /etc/init.d/ssh restart


4.下載私鑰,轉爲 PuTTY 能使用的格式

將私鑰文件 id_rsa 下載到本機,打開 PuTTYGen,單擊 Actions 中的 Load 按鈕,載入剛纔下載到的私鑰文件。

若才設置了密鑰鎖碼,會提示輸入。

載入成功後,PuTTYGen 會顯示密鑰相關的信息。在 Key comment 中鍵入對密鑰的說明信息,然後單擊 Save private key 按鈕即可將私鑰文件存放爲 PuTTY 能使用的格式。


至此,密鑰製作完成。

以後使用 PuTTY 登錄時,可以在左側的 Connection -> SSH -> Auth 中的 Private key file for authentication: 處選擇你的私鑰文件,然後即可登錄了,過程中只需輸入密鑰鎖碼即可。


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