linux下禁止用戶使用密碼方式登陸,而使用密鑰方式登陸

使用putty生成密鑰和登陸
根據公鑰認證的原理(見後面說明),認證雙方任何一方都可製作該鑰匙對,並且只要認證方有被認證方的公鑰信息,即可匹配成功。
這裏,我們先以Windows上的putty登陸Linux服務器爲例說明。所以,該密鑰對由putty製作。
繼續前,請確保您已經把整個putty包都下載完:
其中包括:PuTTY、Puttygen、PSCP、Plink、Pagent 等工具。
1、使用puttygen製作密鑰

啓動puttygen工具,爲兼容OpenSSH密鑰,選擇“SSH2 RSA”:



單擊 生成 按鈕,並使用鼠標在 空白區域內移動,以獲得足夠的隨機數據供生成密鑰使用:



※期間,那我們要移動鼠標,直到進度條走滿爲止。

完成後的窗口如下:



其中:
密鑰註釋:不會影響密鑰的有效性,但可作爲自己用於區別其他密鑰的參考;
兩次輸入密鑰密碼
隨後,點擊  保存私鑰 。
如果沒有輸入密鑰密碼,會有警告:

輸入私鑰的文件名:

※公鑰信息可以不用保留在本地的,puttygen可以從私鑰得到它,驗證時也不會用到。


2、拷貝公鑰信息
公鑰信息:

需要把該信息拷貝到Linux服務器的特定文件中:~/.ssh/authroized_keys
其中,“~”表示對應用戶的主目錄,以root爲例。
若.ssh目錄不存在,請創建它,並把公鑰信息寫入文件中:
# mkdir ~/.ssh
# chmod 700 ~/.ssh
# vi ~/.ssh/authorized_keys
# chmod 644 ~/.ssh/authorized_keys
※請務必留意:文件和目錄的權限問題,用戶必須是將要進行認證的用戶,而權限必須是0644,也就是禁止其他人對該文件寫入信息。(否則,某些有心人把自己的公鑰寫入這裏,他也可以無密碼進來了)
因爲,通常umask是0022或0002的,所以請使用chown和chmod修改爲對應的權限咯。


4、使用putty使用密鑰登陸
對putty進行一些簡單配置,即可使用密鑰登陸Linux服務器。
選擇SSH—認證,選擇剛保存的私鑰文件



然後點擊打開即可



基於密鑰認證的配置
    # vi /etc/ssh/sshd_config  
  PasswordAuthentication no //禁止使用基於口令認證的方式登陸
  PubkeyAuthentication yes //允許使用基於密鑰認證的方式登陸
       # /etc/init.d/sshd reload

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