許可されたIPを持つコンピュータだけがSSHを介して自分のシステムにログインできるようにしたいと思います。
たとえば、IPまたはSSHをuserA
介してのみログインでき、他のIPではログインできません。また、sshを介してのみログインでき、他のipではログインできません。xx.xx.xx.xx
yy.yy.yy.yy
userA
userB
zz.zz.zz.zz
zz.zz.zz.zz
userB
これを達成するには、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
)を使用しています。