内部ネットワークからSSHサーバーへのパスワード認証のみを許可する


22

Ubuntu Precise 12.04で実行されているOpenSSH 5.9p1サーバーがあり、内部ネットワークとインターネットの両方からの接続を受け入れます。インターネットからの接続には公開鍵認証を要求しますが、内部ネットワークからの接続には公開鍵またはパスワード認証を受け入れます。これを実装するようにOpenSSHを構成できますか?

回答:


34

Matchディレクティブを/etc/ssh/sshd_config使用すると、構成ディレクティブを選択的に適用できます。使用可能な一致基準の1つは接続の送信元アドレスであるため、これを使用して必要なものを実装できます。デフォルトでパスワード認証を無効にしてから、内部ネットワークIP範囲からの接続に対してパスワード認証を有効にすることができます。(ChallengeResponseAuthenticationパスワードが使用されないようにするために無効にすることにも注意してください。)この例では、すべてのRFC1918プライベートIP範囲からのパスワード認証を許可します。詳細については、sshd_configのマンページ参照してください。

PasswordAuthentication no
ChallengeResponseAuthentication no

Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

Matchブロックはファイルの最後に追加する必要があります。追加しないと、後続のすべてが次のMatchブロックまで一致します。Matchブロックの不適切な配置により、接続できなくなる場合があります。


3
注:これを行い、SSHをパブリックにアクセス可能なマシン(jumphost)から上記の構成(内部ホスト)のマシンに転送すると、jumphostのソースIPはRFC1918アドレスになり、攻撃を受ける可能性があります。内部ホストへのパスワード認証を許可します。
c4urself
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.