设置SSH通过密钥登录
我們一般使用 PuTTY 等 SSH 客戶(hù)端來(lái)遠(yuǎn)程管理 Linux 服務(wù)器。但是,一般的密碼方式登錄,容易有密碼被暴力破解的問(wèn)題。所以,一般我們會(huì)將 SSH 的端口設(shè)置為默認(rèn)的 22 以外的端口,或者禁用 root 賬戶(hù)登錄。其實(shí),有一個(gè)更好的辦法來(lái)保證安全,而且讓你可以放心地用 root 賬戶(hù)從遠(yuǎn)程登錄——那就是通過(guò)密鑰方式登錄。
密鑰形式登錄的原理是:利用密鑰生成器制作一對(duì)密鑰——一只公鑰和一只私鑰。將公鑰添加到服務(wù)器的某個(gè)賬戶(hù)上,然后在客戶(hù)端利用私鑰即可完成認(rèn)證并登錄。這樣一來(lái),沒(méi)有私鑰,任何人都無(wú)法通過(guò) SSH 暴力破解你的密碼來(lái)遠(yuǎn)程登錄到系統(tǒng)。此外,如果將公鑰復(fù)制到其他賬戶(hù)甚至主機(jī),利用私鑰也可以登錄。
下面來(lái)講解如何在 Linux 服務(wù)器上制作密鑰對(duì),將公鑰添加給賬戶(hù),設(shè)置 SSH,最后通過(guò)客戶(hù)端登錄。
1. 制作密鑰對(duì)
首先在服務(wù)器上制作密鑰對(duì)。首先用密碼登錄到你打算使用密鑰登錄的賬戶(hù),然后執(zhí)行以下命令:
[root@host ~]$ ssh-keygen <== 建立密鑰對(duì) Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空 Enter same passphrase again: <== 再輸入一遍密鑰鎖碼 Your identification has been saved in /root/.ssh/id_rsa. <== 私鑰 Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公鑰 The key fingerprint is: 0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host密鑰鎖碼在使用私鑰時(shí)必須輸入,這樣就可以保護(hù)私鑰不被盜用。當(dāng)然,也可以留空,實(shí)現(xiàn)無(wú)密碼登錄。
現(xiàn)在,在 root 用戶(hù)的家目錄中生成了一個(gè) .ssh 的隱藏目錄,內(nèi)含兩個(gè)密鑰文件。id_rsa 為私鑰,id_rsa.pub 為公鑰。
2. 在服務(wù)器上安裝公鑰
鍵入以下命令,在服務(wù)器上安裝公鑰:
[root@host ~]$ cd .ssh [root@host .ssh]$ cat id_rsa.pub >> authorized_keys如此便完成了公鑰的安裝。為了確保連接成功,請(qǐng)保證以下文件權(quán)限正確:
[root@host .ssh]$ chmod 600 authorized_keys [root@host .ssh]$ chmod 700 ~/.ssh3. 設(shè)置 SSH,打開(kāi)密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件,進(jìn)行如下設(shè)置:
RSAAuthentication yes PubkeyAuthentication yes另外,請(qǐng)留意 root 用戶(hù)能否通過(guò) SSH 登錄:
PermitRootLogin yes當(dāng)你完成全部設(shè)置,并以密鑰方式登錄成功后,再禁用密碼登錄:
PasswordAuthentication no最后,重啟 SSH 服務(wù):
[root@host .ssh]$ service sshd restart4. 將私鑰下載到客戶(hù)端,然后轉(zhuǎn)換為 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具將私鑰文件 id_rsa 下載到客戶(hù)端機(jī)器上。然后打開(kāi) PuTTYGen,單擊 Actions 中的 Load 按鈕,載入你剛才下載到的私鑰文件。如果你剛才設(shè)置了密鑰鎖碼,這時(shí)則需要輸入。
載入成功后,PuTTYGen 會(huì)顯示密鑰相關(guān)的信息。在 Key comment 中鍵入對(duì)密鑰的說(shuō)明信息,然后單擊 Save private key 按鈕即可將私鑰文件存放為 PuTTY 能使用的格式。
今后,當(dāng)你使用 PuTTY 登錄時(shí),可以在左側(cè)的 Connection -> SSH -> Auth 中的 Private key file for authentication: 處選擇你的私鑰文件,然后即可登錄了,過(guò)程中只需輸入密鑰鎖碼即可。
總結(jié)
以上是生活随笔為你收集整理的设置SSH通过密钥登录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sqlite3.h:没有那个文件或目录
- 下一篇: 主机与虚拟机桥接出现ping不通解决方案