本文以已經產生好私鑰和公鑰為前提去講述后續的增加秘鑰認證的步驟:(秘鑰的生成工具為:ssh-keygen,命令執行完后會在 當前 用戶的家目錄中生成了一個 .ssh 的隱藏目錄,內含兩個密鑰文件。id_rsa 為私鑰,id_rsa.pub 為公鑰)
下面開始正式的開啟秘鑰認證:
1、添加用戶
useradd test -d /home/test
2、設定密碼
passwd test
#請輸入新用戶密碼(密碼會讓輸入兩次)
3、創建目錄及文件
mkdir /home/test/.ssh
touch /home/test/.ssh/authorized_keys
4、修正所有者
sudo chown -R test. /home/test/.ssh
5、rz -be
#選擇id_rsa.pub 等待上傳完成 (此處假設的是你在另一台中心服務器或你的電腦上生成了或已拿到公鑰)
sh -c 'cat id_rsa.pub >> /home/test/.ssh/authorized_keys'
6、檢查確認
cat /home/test/.ssh/authorized_keys
7、修改權限
chmod 700 /home/test/.ssh
chmod 600 /home/test/.ssh/authorized_keys
8、設定sudo權限(不過不想讓ksyun賬戶具有切換到root的權限,可不配置此處)
sudo visudo
找到root ALL=(ALL) ALL那一段,在其后添加
test ALL=(ALL) NOPASSWD:ALL
9、 設置 SSH,打開密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件:sudo vim /etc/ssh/sshd_config,添加如下設置:
RSAAuthentication yes
PubkeyAuthentication yes
10、保存后,重啟 SSH 服務:
service sshd restart
(1)使用你配置機器時設置的用戶名和密碼能否通過 SSH 登錄
(2)注意root的權限配置為:
PermitRootLogin yes
使用 root 用戶和密碼能否通過 SSH 登錄
(3)以密鑰方式登錄是否成功:
在你的linux系統上登錄目標機器 ssh -i ./id_rsa test@x.x.x.x 或者在windows系統上使用連接工具通過私鑰去登錄目標機器
11、禁用密碼登錄:
PasswordAuthentication no
最后,重啟 SSH 服務:
service sshd restart
再次測試可以使用秘鑰登錄機器是否成功
此時通過用戶名和密碼已無法登錄機器