前言
我們在使用ssh客戶端遠程連接linux服務器時,為了考慮安全方面的因素,通常使用密鑰的方式來登錄。密鑰分為公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,私鑰是由個人自己持有,并且必須妥善保管和注意保密。
Linux設置密鑰登錄的步驟
一、生成密鑰(公鑰與私鑰)
-
-t 選項指定要使用的加密算法,“rsa”表示使用RSA算法; -
-b 選項指定密鑰的長度; -
-C 選項是可選的,用于添加注釋。
二、創建authorized_keys文件并設置權限
1.查看密鑰認證文件authorized_keys是否存在,若不存在則創建并授權,命令如下:
[root@server1 ~]# touch ~/.ssh/authorized_keys
[root@server1 ~]# chmod 600 ~/.ssh/authorized_keys
2.將公鑰內容追加到authorized_keys文件中
[root@server1 ~]# cd ~/.ssh
[root@server1 .ssh]# cat id_rsa.pub >> authorized_keys
三、設置sshd配置文件允許使用密鑰登錄
-
修改sshd_config文件,啟用以下參數:
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
-
修改完配置文件,重啟sshd服務
[root@server1 ~]# systemctl restart sshd
四、使用私鑰登錄驗證
-
在Linux主機上登錄驗證
[root@server1 .ssh]# ssh root@localhost -i id_rsa
Last login: Wed Sep 13 17:13:28 2023 from 192.168.15.1
-
在Win下使用ssh客戶端導入私鑰登錄驗證
五、禁用密碼登錄
-
修改sshd_config文件,啟用以下參數:
PasswordAuthentication no
-
重啟sshd服務
[root@server1 ~]# systemctl restart sshd
至此,Linux已經設置為密鑰登錄,相對于使用密碼認證登錄的方式更為安全,前提是私鑰要安全保管。今天的分享就到這里了,你學會了嗎?