回答:
あなたはマッチオプションを使うことができます sshd_config
一致 条件付きブロックを導入します。Match行のすべての基準が満たされた場合、次の行のキーワードは、別のMatch行またはファイルの終わりまで、構成ファイルのグローバルセクションで設定されたキーワードを上書きします。[1]
したがって、そのファイルの最後に次のように指定できます。
Match User yourusername
PasswordAuthentication no
man 5 sshd_config
使用可能なすべてのオプションについては、を参照してください。
[1] http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5
jasonwryanからの答えは、この変更を行う正しい方法になるでしょう。私が行う唯一の追加は、ホイールグループのすべてのユーザーがキー認証を使用する必要があり、他のユーザーがパスワードを使用できるように、一致をグループベースに設定できることです。
システム構成ファイルを変更せずにこれを実行したいのはわかっていますが、それができない理由は十分にあります。頭の中で、ユーザーがより安全なログインポリシーを設定できることは理にかなっていますが、あなたの心の中でそれがより安全なオプションであるからといって、それがまだシステムログイン要件の変更であるという事実は変わりませんリモートユーザー。
これが問題である理由を理解するには、シナリオを逆に想像してください。システム管理者(システム構成ファイルを変更できる)は、システムをキーベースのログインのみに設定します。次に、一部のユーザーがやって来て、自分のユーザーファイルへのアクセス権のみを持ち、パスワード認証を許可するようにアカウントを設定し、システムポリシーを上書きします。BEEEEEEP。セキュリティ問題!
これは、変更したい種類の変更がシステム構成ファイルからのみ可能である理由を説明していますか?
authorized_keys
に、より多くの制限を置くことを許可しても、セキュリティ上の問題はありません。たとえば、authorized_keys
特定のキーを特定のコマンドに制限できます。