web-dev-qa-db-ja.com

SSHで特定のユーザーのパスワード認証を無効にする方法

すべてのユーザーをキー認証のみに制限することに関するいくつかの投稿を読みましたが、1人のユーザー(svn)のみをキー認証のみに強制し、残りはキーまたはパスワードにすることができます。

私は https://stackoverflow.com/questions/4241197/how-to-disable-password-authentication-for-every-users-except-several を読みましたが、「ユーザーの一致」の部分のようですof sshd_configはopenssh-5.1の一部です。 CentOS 5.6を実行していますが、OpenSSH 4.3しかありません。現在、次のリポジトリを利用できます。

$ yum repolist
Loaded plugins: fastestmirror
repo id                            repo name                                                                         status
base                               CentOS-5 - Base                                                                   enabled:  3,535
epel                               Extra Packages for Enterprise Linux 5 - x86_64                                    enabled:  6,510
extras                             CentOS-5 - Extras                                                                 enabled:    299
ius                                IUS Community Packages for Enterprise Linux 5 - x86_64                            enabled:    218
rpmforge                           RHEL 5 - RPMforge.net - dag                                                       enabled: 10,636
updates                            CentOS-5 - Updates                                                                enabled:    720
repolist: 21,918

私は主にepelを使用していますが、rpmforgeはSubversionの最新バージョン(1.6)に使用されています。

現在の設定でこれを達成する方法はありますか?サーバーをキーだけに制限したくありません。キーを紛失した場合、サーバーを紛失してしまうからです;-)

7
Nick

パラメータPermitEmptyPasswords nosshd構成で使用し、一部のユーザーのパスワードを削除して、sshキー認証を強制します。

4
Thomas Berger

Matchブロックをsshd_configファイルに追加します。このようなもの:

Match Group SSH_Key_Only_Users
    PasswordAuthentication no

または、本当に1人のユーザーの場合

Match User Bad_User
    PasswordAuthentication no

見る man sshd_config一致させることができるものとそれに適用できる制限の詳細については。

14
Chris S

CentOS 5(今日の最新アップデート)がMatchコマンドをリモートサーバーからロックアウトすることでサポートしていないことを私は学んだ。楽しい時間。

したがって、CE5にMatchコマンドを追加してservice sshd restartを実行すると警告が表示されません。sshdクライアントを閉じるとすぐに、ロックされるまでロックアウトされます。コンソールから再度ログインして、これらの2行を削除できます。

2
fred