Centos
鎖定帳戶密碼,改為使用 RSA 密鑰
為客戶端設置 CentOS 7 雲伺服器時遇到問題,將其設置為使用公共 RSA 密鑰而不是少數 SFTP 使用者之一的密碼。
在以下位置找到了有關設置密鑰的線上指南:
https://debian-administration.org/article/530/SSH_with_authentication_key_instead_of_password
客戶端提供了一個公鑰文件,我使用“ssh-copy-id”命令將其複製到伺服器。根據我得到的回复,一切都很好。
然後我使用“passwd -l”命令鎖定了該帳戶。重置伺服器並勾選,系統確認密碼被鎖定:
testuser1 LK 2018-09-17 0 99999 7 -1(密碼鎖定。)
但是,我仍然可以在未安裝私鑰的電腦上使用該帳戶使用密碼登錄。
所以,我做了更多的研究,發現另一個教程說你可以通過在 etc/ssh/sshd_config 文件中將 PasswordAuthentication 設置為 no 來強制使用 RSA 密鑰,這引起了人們的擔憂,因為其他使用者不使用 RSA 密鑰進行登錄.
我做錯了什麼,或者我可以做些什麼來禁用這個單一帳戶的密碼?有沒有辦法允許一些使用者使用密碼,同時允許其他使用者使用 RSA 密鑰?
在 AWS 中啟動一個全新的 CentOS 實例後,我經歷了以下過程:
- 添加新使用者(並設置密碼)
- 測試密碼登錄
- 鎖定帳戶
- 測試密碼登錄
- 將 ssh 密鑰添加到使用者帳戶
- 測試 ssh 密鑰登錄
- 添加新使用者:
[centos@ip-172-31-80-91 ~]$ sudo useradd -c "Demo User" -m demo_user [centos@ip-172-31-80-91 ~]$ sudo passwd demo_user Changing password for user demo_user. New password: Retype new password: passwd: all authentication tokens updated successfully.
- 測試密碼登錄:
[guzzijason@macbook ]$ ssh demo_user@54.147.127.91 demo_user@54.147.127.91's password: [demo_user@ip-172-31-80-91 ~]$
- 在伺服器上鎖定帳戶
[centos@ip-172-31-80-91 ~]$ sudo passwd -l demo_user Locking password for user demo_user. passwd: Success
- 測試密碼登錄(再次;這次應該失敗)
[guzzijason@macbook ]$ ssh demo_user@54.147.127.91 demo_user@54.147.127.91's password: Permission denied, please try again. demo_user@54.147.127.91's password: Permission denied, please try again. demo_user@54.147.127.91's password: demo_user@54.147.127.91: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
- 將 ssh 密鑰添加到伺服器上的使用者帳戶:
[centos@ip-172-31-80-91 ~]$ sudo su - Last login: Mon Sep 17 22:07:43 UTC 2018 on pts/0 [root@ip-172-31-80-91 ~]# umask 077 [root@ip-172-31-80-91 ~]# mkdir /home/demo_user/.ssh [root@ip-172-31-80-91 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT+PautYetQxI+J8jshx2bZkMyuxd7dHBlCKjgIr9Y869RP+xzgvFFs1oCzAo/Q8Tn3Pz2htI4VN9h3LVsX+JuK3Omf+/vs6I21rIpDE2m/qhO5JH+2gflrsmhHRziHCbokoIr/LYIgkWAzgpiJ4tr2NWc8b32NggepIljfXBMm9TuuorYFNKqG8hpiHAsj5OugBiJUPyuBzPUlvFYdXuT0ireVlNgQcidi873psOWL9QQMrxTZYjd+Ucphk48otp/x7q3LD2luKXkfEsKyMgyVSApSfjdakh2ihJnfvhAfstAN+iuFPu1EYg5+4mUj0Z028TbxSn1hO5ijpgQDh8h guzzijason@macbook" >>/home/demo_user/.ssh/authorized_keys [root@ip-172-31-80-91 ~]# chown -R demo_user /home/demo_user/.ssh [root@ip-172-31-80-91 ~]# ls -ld $(find /home/demo_user/.ssh) drwx------. 2 demo_user root 29 Sep 18 02:25 /home/demo_user/.ssh -rw-------. 1 demo_user root 400 Sep 18 02:25 /home/demo_user/.ssh/authorized_keys [root@ip-172-31-80-91 ~]#
- 測試 ssh 密鑰登錄
[guzzijason@macbook ]$ ssh -i .ssh/demo_user demo_user@54.147.127.91 Last login: Tue Sep 18 02:28:18 2018 from xxx [demo_user@ip-172-31-80-91 ~]$
**注意:**為使用者設置 ssh 密鑰時的一個常見錯誤是對
.ssh
目錄和authorized_keys
文件沒有正確的所有權或權限。這些非常重要!如果沒有嚴格設置這些權限,ssh key 認證會失敗。還:
PasswordAuthentication yes
為所有這些設置在我的身上sshd_config
。