なぜまだパスワードを使用してUbuntuシステムにSSHで接続できますか?以下は、/etc/ssh/sshd_config
ovhでホストされているUbuntu 20.04のファイルです(簡単に説明するためにコメントされていない行のみが表示されます)。
Include /etc/ssh/sshd_config.d/*.conf
Port xxx
PermitRootLogin no
AllowUsers user1 user2
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
関連ファイルに対する権限は問題ないようです。
$ stat -c %a /home/user1/.ssh/
700
$ stat -c %a /home/user1/.ssh/authorized_keys`
600
私はsudo service ssh restart
走ったsudo service sshd restart
。
パスワードを使用してSSHを介してUbuntuシステムにログインできるのはなぜですか?ユーザー名とパスワードを使用してSSH(PuTTY)を介してログインできますが、パスワードのみを求めます。 user1とuser2の両方のキーは.sshホームフォルダにあります。なくなったものありますか?
インクルードファイルを確認しました。
-rw------- 1 root root 27 Dec 1 12:52 50-cloud-init.conf
...:/etc/ssh/sshd_config.d$ sudo cat 50-cloud-init.conf
PasswordAuthentication yes
それで、それが理由だと思いますか?しかし、私の設定はこの設定を上書きしませんか?上(一行ずつ)含まれていますか?
答え1
Include /etc/ssh/sshd_config.d/*.conf
Ubuntu / Debianディストリビューションには、デプロイの開始時に非標準のエントリがありますsshd_config
。これの目的は、ユーザーがコアファイルを変更せずにsshd構成をカスタマイズできるようにすることで、sshd_config
OpenSSHで競合や偶発的な構成変更を最小限に抑えることです。apt update
なぜなら最初見つかった設定行はアプリケーションの行であり、カスタム設定ファイルのすべてのパスワードコマンドはデフォルト設定の行を/etc/ssh/sshd_config.d/*.conf
先取りします。PasswordAuthentication no
すべての構成が期待どおりであることを確認してください。
@dexterが指摘したように、出力valid configを使用できますsudo sshd -T
。これは、ある構成ファイルが別の構成ファイルを上書きしたときに強調表示されることがあります。
答え2
パスワードログインは単に通過するものではありませんPasswordAuthentication
。実際、これは「専用シンプル」認証方法であり、KbdInteractiveAuthentication
以前はChallengeResponseAuthenticationとして知られている普遍的なパスワード認証方法があります。追加またはカスタムの質問で、2段階の操作、ワンタイムパスワードの使用などを実行できるチャットなどの汎用認証(チャレンジレスポンスの意味)。一方、前者はシステムパスワードを介した名前の伝達のみを許可します。認証のため。
UsePAM
PAMはsshdとPAMの試行応答チャットを提供できますKbdInteractiveAuthentication
。ChallengeResponseAuthentication
PasswordAuthentication
通常pam_unix.so
既存のパスワード認証を実行するように構成され、UsePAM
+ KbdInteractiveAuthentication
SSH に対するパスワード認証を効果的に提供します。 (これを知ってくれた@TooTeaに感謝します。)
いいね! もっと回答を見るここ(悲しいことに、これは明らかに良いので、許容される答えではありません。)man sshd_config
もちろん参照してください。
答え3
PasswordAuthentication yes
次のおかげで含まれているファイルが使用されましたman sshd_config
。「キーワードごとに最初に取得した値が使用されます。」
SSH経由でログインしようとすると「サポートされる認証方法(公開鍵)はありません。」。
SSHキーのみ有効です。
答え4
match
セクションを使用する順序が重要であることを覚えておいてください。
これはうまくいきます:
Match User user-special
PasswordAuthentication yes
Match User user-ftp
AuthorizedKeysFile /home/user-ftp/.ssh/authorized_keys
ChrootDirectory /DATA/s2survey
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match all
PasswordAuthentication no
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
ただし、コマンドは期待どおりに機能しません。無視されるか(理由が不明)、より具体的なセクションPasswordAuthentication
では変更されません。match
PasswordAuthentication no
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
Match User user-special
PasswordAuthentication yes
Match User user-ftp
AuthorizedKeysFile /home/user-ftp/.ssh/authorized_keys
ChrootDirectory /DATA/s2survey
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match all