Ubuntu 10.04を実行しているSSHサーバーを取得して、ローカルネットワークからの場合にのみパスワードログオンを許可しようとしています。他のすべてのユーザー、特にファイアウォールを介してインターネットからログインしているユーザーには、キーベースの認証を強制したいと思います。私はグーグルで回って、以下を見つけました。
/etc/ssh/sshd_config
で変更した内容は次のとおりです。
PasswordAuthentication yes
Match Address 192.168.5.0/24
PasswordAuthentication yes
それで、192.168.5のある別のマシンからログインします。アドレスですが、publicKeyがないために許可されません:アクセスが拒否されました(publickey)。
これでうまくいくはずです:
PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.5.* PasswordAuthentication yes
最初の2行は、デフォルトでpubkey認証を有効にします。最後の行は、一致したネットワーク(192.168.5.0/24)の他の2行を上書きします。
一致条件の後の改行は重要です。これは機能するはずです:
PasswordAuthentication no
Match Address 192.168.5.0/24
PasswordAuthentication yes
編集:私は他の答えがうまくいったことに驚いています!それは私にはうまくいきませんでした。このようにして、CIDRネットマスクを使用できるようになります。