
クライアント用のCentOS 7クラウドサーバーのセットアップ中に、少数のSFTPユーザーの1人のパスワードの代わりにパブリックRSAキーを有効にするのに問題があります。
キー設定のオンライン手順は、以下にあります。
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キーを使用できるようにする方法はありますか?
答え1
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 [email protected] [email protected]'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 [email protected] [email protected]'s password: Permission denied, please try again. [email protected]'s password: Permission denied, please try again. [email protected]'s password: [email protected]: 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 [email protected] Last login: Tue Sep 18 02:28:18 2018 from xxx [demo_user@ip-172-31-80-91 ~]$
メモ:.ssh
ユーザーにSSHキーを設定するときによく犯される間違いは、ディレクトリとファイルに対する正しい所有権または権限がないことですauthorized_keys
。これらは非常に重要です!これらの権限が厳密に設定されていない場合、SSH 鍵認証は失敗します。
返品: PasswordAuthentication yes
sshd_config
すべてが私の心の中にありました。