ユーザーごとにパスワードベースのSSHアクセスを制限するが、キー認証は許可する


21

ユーザーへのPASSWORD SSHアクセスを無効にすることはできますが、ユーザーごとにキー認証を許可することはできますか?つまり、パスワードベースのアクセスを許可したくないuserAがいますが、サーバーにアクセスするためにキー認証のみを使用する必要はありません。ありがとう


回答:


49

次のように、sshd_configの下部で特定のユーザーまたはグループに一致する「一致」セクションを追加できます。

Match user stew
PasswordAuthentication no

または

Match group dumbusers
PasswordAuthentication no

9
インデントされた行のみMatchが実際に影響を受けることを示唆しているため、インデントは避けます。実際には、次のMatchディレクティブまですべての構成が影響を受けます。構文に精通していない人を混乱させる可能性があります。
マイケルミオール

2
@MichaelMior「エンドマッチ」する方法はありますか?
ニックT

4
@NickT Matchは、次のMatchor Hostキーワードまで機能します。あなただけを使用することができますMatch user *
マイケルMior

@MichaelMiorこれは、を使用するとMatch user ZaQwEdCxS、誰もが一時的にまたは永久に使用できる一連の構成行をレンダリングできることを意味しますか?
トリップキネティクス

それ以降のすべての設定行は、という名前のユーザーにのみ適用されることを意味しますZaQwEdCxS。ただし、別の質問がある場合は、新しい質問をする必要があります。
マイケルミオール

4

パスワードを使用してログインしたくないユーザーのパスワードをロックするだけです。

usermod -L <user>

次に、有効な公開鍵を.ssh/authorized_keysファイルに配置すると、対応する秘密鍵でのみログインできますが、パスワードではログインできません。

注:ユーザーがVISudoエントリにNOPASSWD:を持たない限り、これによりsudoが破損します。


8
また、sudoが壊れます。この場合はおそらく問題ではありませんが、言及する必要があります。
EEAA

はい、それは本当です。言及すべきだった。
オリバー

1
いくつかのOpenSSHのセットアップ(たとえば、私は、デフォルト設定でのUbuntu 14.04と思うが)いなくてもauthorized_keysに経由して、中にロックされ、ユーザーせてはいけない
ニルスToedtmann

@NilsToedtmann検証のソースを引用できますか?もしそうなら、これは答えで非常に重要です。
メタグラファー

-3

調べるべきです

/etc/ssh/sshd_config

あなたが探しているのは

PasswordAuthentication yes

noに変更し、sshdの再起動を忘れないでください


2
私はこれを知っています-これはグローバル設定ですが-より詳細なオプションが必要です-それが私が「ユーザーごとに」と言った理由です-これは一部のユーザーにのみ必要です(クラスター内のサーバー間のインナークラスター通信に使用されます) -すべてのユーザーではない
-gyre

ああ、すみません、正しく読んでいなかったので、@ stewが推奨しているのは行く方法
です-alexus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.