Frage Konfiguration für SSH mit mehreren Ports


Ich muss SSH an zwei Ports hören: 22 für den administrativen Zugriff und 26 für den regulären Zugriff. Ich möchte Root-Login auf 26 verbieten und alle außer internen IPs für Port 22 verbieten. Letzteres kann mit Iptables-Regeln gemacht werden, aber ich weiß nicht über die ehemaligen. Irgendwelche Ideen?


20
2018-06-27 16:53


Ursprung


root sollte sich nie über ssh anmelden können; Zeitraum; Ende der Geschichte; Buck hält hier an; noch nie. Wenn Sie Root-Zugriff benötigen, melden Sie sich über Ihren normalen Benutzer an und erhöhen Sie mit su oder noch besser sudo. - Chris S
Es ist völlig in Ordnung, root-Logins über ssh zuzulassen, wenn Sie sie auf die Schlüsselauthentifizierung oder sogar die Passwortauthentifizierung beschränken, wenn die Sitzung auf die von Ihnen gesteuerten IP-Adressen beschränkt ist. 'Nie' ist zu stark. - EightBitTony
Ich würde argumentieren, dass es Situationen gibt, in denen es sinnvoll ist, eine Root-Anmeldung zu haben (z. B. Dateisystembeschädigung auf der / home-Partition, die die Anmeldung als Standardbenutzer ausschließt). Eine Sache, die helfen kann, ist die sshd_config zu setzen PermitRootLogin Parameter zu without-password. Dies ermöglicht nur Root-Login über SSH mit einem SSH-Schlüssel auftreten. Die Passwort-Authentifizierung funktioniert nicht. - ewwhite
Dieser Artikel könnte hilfreich sein: everythingsysadmin.com/2010/09/ ... - TomOnTime


Antworten:


Im /etc/ssh/sshd_config, mache die folgende Änderung. Suchen Sie nach der Zeile, die sagt Port 22 und fügen Sie eine ähnliche Zeile darunter hinzu.

Port 22
Port 26

Speichern Sie die Datei und starten Sie den sshd-Daemon neu.

Ich tue das in Situationen, in denen ich ssh für interne Benutzer an Port 22 aktiviert habe, aber eine externe Konnektivität zum Beispiel Port 2222 benötigt. Dadurch wird der ssh-Daemon an beide Portnummern gebunden.


24
2018-06-27 17:10



Und wie schränken Sie Root-Logins jetzt auf Port 22 ein? - faker
@faker Ich habe die Verwendung von Firewall- / Netzwerkbeschränkungen gesehen, um nur eine Whitelist von ip's Zugang zu regulärem Port 22 bereitzustellen. - ThorSummoner


Du kannst den ... benutzen -f Option zu sshd um eine alternative Konfigurationsdatei anzugeben. In der Konfigurationsdatei müssten Sie die

Port 26 

Anweisung, um den Port zu ändern, auf dem der sshd wartet.

einstellen

PermitRootLogin no

um Root-Logins zu deaktivieren

Sie können dann etwas wie tun

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

Möglicherweise möchten Sie das standardmäßige sshd-Startskript kopieren und ändern, damit Sie den Port 26-Dienst beim Start starten können.

Warum tust du das ?


10
2018-06-27 16:57





Wenn sshd mit einer befehlszeilenspezifischen Konfigurationsdatei ausgeführt wird, können Sie eine zweite Konfiguration erstellen, die auf Port 26 ausgeführt wird, und ein zweites Start-Skript ausführen, das auf diesen Port verweist.


3