說明:
通常的密碼方式登陸容易被密碼暴力破解。因此通常咱們會將 SSH 的端口設置爲默認22之外的端口,或者禁用root帳戶登陸。其實能夠經過密鑰登陸這種方式來更好地保證安全。
密鑰形式登陸的原理是:利用密鑰生成器製做一對密鑰——一隻公鑰和一隻私鑰。將公鑰添加到服務器的某個帳戶上,而後在客戶端利用私鑰便可完成認證並登陸。這樣一來,沒有私鑰,任何人都沒法經過 SSH 暴力破解你的密碼來遠程登陸到系統。此外,若是將公鑰複製到其餘帳戶甚至主機,利用私鑰也能夠登陸。
下面來說解如何在 Linux 服務器上製做密鑰對,將公鑰添加給帳戶,設置 SSH,最後經過客戶端登陸。
實現:
1. 製做密鑰對
首先在服務器上製做密鑰對。首先用密碼登陸到你打算使用密鑰登陸的帳戶,而後執行如下命令:html
[root@host ~]$ ssh-keygen <== 創建密鑰對Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 EnterCreated 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
密鑰鎖碼在使用私鑰時必須輸入,這樣就能夠保護私鑰不被盜用。固然,也能夠留空,實現無密碼登陸。安全
如今,在 root 用戶的家目錄中生成了一個 .ssh 的隱藏目錄,內含兩個密鑰文件。id_rsa 爲私鑰,id_rsa.pub 爲公鑰。服務器
2. 在服務器上安裝公鑰
鍵入如下命令,在服務器上安裝公鑰:ssh
[root@host ~]$ cd .ssh[root@host .ssh]$ cat id_rsa.pub >> authorized_keys如此便完成了公鑰的安裝。爲了確保鏈接成功,請保證如下文件權限正確:[root@host .ssh]$ chmod 600 authorized_keys[root@host .ssh]$ chmod 700 ~/.ssh
3. 設置 SSH,打開密鑰登陸功能
編輯 /etc/ssh/sshd_config 文件,進行以下設置:ide
RSAAuthentication yesPubkeyAuthentication yes另外,請留意 root 用戶可否經過 SSH 登陸,默認爲yes:PermitRootLogin yes當咱們完成所有設置並以密鑰方式登陸成功後,能夠禁用密碼登陸。這裏咱們先不由用,先容許密碼登錄PasswordAuthentication yes最後,重啓 SSH 服務:[root@host .ssh]$ service sshd restart
4. 將私鑰下載到客戶端,如這裏的SecureCRT
輸入Hostname,Username,選擇認證方式爲PublicKey公鑰認證,選擇剛剛下載下來的id_rsa私鑰文件便可!
rest
轉載於:http://coolnull.com/3486.htmlcode