特定のインターフェースでSSHパスワード認証を無効にする

特定のインターフェースでSSHパスワード認証を無効にする

私はOpenWrtルーターを持っていますが、SSHでパスワード認証を無効にして、キー認証のみにしたいと考えています。これは次のように簡単に実現できます。ガイドしかし、ドキュメントでは、WAN インターフェイスでのパスワード認証のみを無効にしたいのですが、これは可能ですか?

答え1

この回答はOpenSSHに適用されます。OpenWRTにはデフォルトでDropbearが含まれているため、次のように置き換える必要があります。このリンク(基本的には、 をインストールしopenssh-serverて無効にしますdropbear)。

OpenSSH では、次の 2 つのメカニズムを使用して、必要なことが可能になります。

  1. LAN および WAN インターフェイスを個別にsshd構成します。これは、静的 WAN IP がある場合にのみ適切に機能します (特定のインターフェイスをリッスンするように指示することはできずsshd、特定の IP のみをリッスンするように指示できます)。
  2. LAN 内のクライアントに対してのみパスワード認証を許可します。

オプション1:

LAN 構成ファイル (例: /etc/ssh/sshd_config、デフォルト ファイル) には、次のような内容が含まれます。

PasswordAuthentication yes
Listen 192.168.1.1:22

WAN 構成ファイル (例/etc/ssh/sshd_config_wan:

PasswordAuthentication no
Listen 10.1.1.1:22    

上記では、192.168.1.1 は LAN インターフェイス IP、10.1.1.1 は WAN IP アドレス、どちらの場合も 22 はリッスンするポートです。-fのオプションを使用して、読み込む構成ファイルを指定できますsshd。デフォルトの init スクリプトを新しいスクリプトにコピーし、sshdで呼び出すように修正する必要があります-f /etc/ssh/sshd_config_wan

オプション2:

では/etc/ssh/sshd_config、これを終わりファイルの:

PasswordAuthentication no

Match address 192.168.1.0/24
    PasswordAuthentication yes

ここでは、LAN 上のアドレス (ここでは 192.168.1.0/24 と想定) を除いて、パスワード認証を無効にします。

答え2

異なる構成で SSH サーバーの 2 つのインスタンスを実行し、それぞれが異なるインターフェースでリッスンするようにすることができます。

関連情報