web-dev-qa-db-ja.com

リモートアクセス専用のSSHパスワードレスキー認証を設定して、ローカルユーザーがパスワードを使用できるようにする方法

Ubuntu 10.04を実行しているSSHサーバーを取得して、ローカルネットワークからの場合にのみパスワードログオンを許可しようとしています。他のすべてのユーザー、特にファイアウォールを介してインターネットからログインしているユーザーには、キーベースの認証を強制したいと思います。私はグーグルで回って、以下を見つけました。

/etc/ssh/sshd_configで変更した内容は次のとおりです。

PasswordAuthentication yes
Match Address 192.168.5.0/24
PasswordAuthentication yes

それで、192.168.5のある別のマシンからログインします。アドレスですが、publicKeyがないために許可されません:アクセスが拒否されました(publickey)。

6
senorsmile

これでうまくいくはずです:

PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.5.* PasswordAuthentication yes

最初の2行は、デフォルトでpubkey認証を有効にします。最後の行は、一致したネットワーク(192.168.5.0/24)の他の2行を上書きします。

9
Marco Ramos

一致条件の後の改行は重要です。これは機能するはずです:

PasswordAuthentication no
Match Address 192.168.5.0/24
PasswordAuthentication yes

編集:私は他の答えがうまくいったことに驚いています!それは私にはうまくいきませんでした。このようにして、CIDRネットマスクを使用できるようになります。

2
Eduardo Ivanec