指定されたIPを持つコンピュータだけがSSH経由でログインできるようにする方法は?

指定されたIPを持つコンピュータだけがSSH経由でログインできるようにする方法は?

許可されたIPを持つコンピュータだけがSSHを介して自分のシステムにログインできるようにしたいと思います。

たとえば、IPまたはSSHをuserA介してのみログインでき、他のIPではログインできません。また、sshを介してのみログインでき、他のipではログインできません。xx.xx.xx.xxyy.yy.yy.yyuserAuserBzz.zz.zz.zzzz.zz.zz.zzuserB

これを達成するには、Linuxをどのように設定する必要がありますか?

答え1

/etc/ssh/sshd_config以下を追加してください。

AllowUsers [email protected] [email protected] userA
AllowUsers [email protected] userB

その後、SSHデーモンを再起動します。

次の説明に従ってワイルドカードを使用できます。模様部分ssh_config マニュアル

答え2

iptablesでこれを行うことができます。

アドレス1.2.3.4からSSH(ポート22)へのすべての接続:

iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT

他のすべてのSSH接続を拒否します。

iptables -A INPUT -p tcp --dport 22 -j DROP

答え3

認証にPAMを使用する場合の1つの方法pam_rhostsは、各ユーザーが接続を許可するファイルを指定できるようにすることです。required/etc/pam.d/ssh.rhosts

ファイルの認証モジュールはpam.d公開鍵ログインには使用されません(たとえば、自分のコンピュータauth required pam_deny.soでパスワードログインを防ぐ必要があります)。まだ別のモジュール(accountなどsession)を使用しています。

関連情報