Wie kann nur Maschinen mit der angegebenen IP-Adresse die Anmeldung per SSH gestattet werden?

Wie kann nur Maschinen mit der angegebenen IP-Adresse die Anmeldung per SSH gestattet werden?

Ich möchte nur Maschinen mit zulässigen IP-Adressen erlauben, sich per SSH bei meinem System anzumelden.

Beispielsweise userAkann zum Anmelden über SSH nur die IP xx.xx.xx.xxoder verwendet werden yy.yy.yy.yy, keine andere IP kann sich als anmelden userA. Und zum Anmelden über SSH userBkann nur die IP verwendet werden zz.zz.zz.zz, keine andere IP als zz.zz.zz.zzkann sich als anmelden userB.

Wie muss ich mein Linux einrichten, um dies zu erreichen?

Antwort1

Fügen Sie /etc/ssh/sshd_configFolgendes hinzu:

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

Starten Sie dann den SSH-Daemon neu.

Sie können Platzhalter verwenden, wie inMusterAbschnitt desssh_config-Handbuch.

Antwort2

Sie können dies über iptables tun.

Alle Verbindungen von Adresse 1.2.3.4 zu SSH (Port 22):

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

Alle anderen SSH-Verbindungen verweigern:

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

Antwort3

Ein Ansatz (wenn Sie PAM zur Authentifizierung verwenden) besteht darin, es pam_rhostsals requiredModul in anzugeben /etc/pam.d/ssh. Dadurch kann jeder Benutzer in seiner eigenen Datei angeben, .rhostsvon wo aus er eine Verbindung herstellen darf.

Beachten Sie, dass die Authentifizierungsmodule in der pam.dDatei bei Pubkey-Logins nicht herangezogen werden (z. B. muss ich auth required pam_deny.soPasswort-Logins auf meinen Rechnern verhindern). Andere Module ( accountusw. session) werden weiterhin verwendet.

verwandte Informationen