Ich habe meinen Standard-SSH-Port auf meinem /etc/ssh/sshd_config
Heimserver (in der Datei) in Port 54747 geändert und dann die Dienste ssh
und neu gestartet sshd
(ich bin mir nicht sicher, welchen, also habe ich beide aus Sicherheitsgründen ausgeführt). Um meine Konfiguration zu testen, habe ich mich ohne Probleme abgemeldet und wieder angemeldet.
Ein paar Tage später installierte ich apt updates und startete meinen Server neu. Als ich versuchte, SSH wieder einzurichten (auf Port 54747), wurde mir ein Verbindungsfehler verweigert.
Aus irgendeinem Grund habe ich versucht, SSH auf Standard-Port, und es hat funktioniert! Ich ging zurück, um die sshd_config zu überprüfen, aber sie hatte immer noch den benutzerdefinierten Port. Also habe ich die ssh
und sshd
-Dienste neu gestartet und es kam wieder zu "normalem" Verhalten (ssh auf Port 54747). Ich habe erneut versucht, einen Neustart durchzuführen, und die Verbindung wurde erneut verweigert.
Weiß jemand was ich falsch gemacht habe?
Zusätzliche Details:
- Ubuntu 16.04.2 LTS
- Der Server wird auch als HTPC mit einer offenen Sitzung (derselbe Benutzer wie SSH) auf meinem Fernseher verwendet
- Ich verwende den RSA-Schlüssel meines Laptops für SSH und habe die Kennwortauthentifizierung deaktiviert
- Früher habe ich einen Neustart durchgeführt
sudo reboot -h now
, aber nach der Suche stellte ich fest, dass es von einigen Leuten nicht empfohlen wurde, also habe ich es versuchtsudo reboot
, aber keine Unterschiede
EDIT Reihenfolge der Ereignisse:
- Ändern Sie den SSH-Port von 22 auf 54747 Zoll
/etc/ssh/sshd_config
- Starten Sie die Dienste ssh und sshd neu
- Aktuelle SSH-Sitzung beenden
- SSH wurde erfolgreich auf Port 54747 zurückgespielt
- Starten Sie neu
- SSH-Verbindungsfehler an Port 54747, aber erfolgreich an Port 22
- Starten Sie die Dienste ssh und sshd neu
- SSH wurde erfolgreich an Port 54747 wiederhergestellt, Verbindungsfehler an Port 22
- Starten Sie neu und kehren Sie zu 6 zurück
EDIT 1: netstat
Ausgabe
rgo@ATLAS:~$ sudo netstat -lntp | grep :54747
rgo@ATLAS:~$ sudo netstat -lntp | grep :22
tcp6 0 0 :::22 :::* LISTEN 1/init
EDIT 2: service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead)
EDIT 3: lsof -i | grep ssh
systemd 1 root 46u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd 1 root 49u IPv6 14641 0t0 TCP *:ssh (LISTEN)
sshd 4088 root 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4088 root 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
Als Referenz ist ATLAS der Hostname des Remoteservers, 192.168.1.27 die LAN-IP meines Laptops, und der Befehl wurde zwischen den Schritten 6 und 7 ausgeführt
ufw status
Status: inactive
EDIT 4: ps -ef |grep sshd
root 4088 1 0 22:40 ? 00:00:00 sshd: rgo [priv]
rgo 4202 4088 0 22:40 ? 00:00:00 sshd: rgo@pts/1 sshd
Port 10285
. Google zeigt einige Ergebnisse für 54747 ... (3) Auch der SSH-Server kann mit mehreren Ports gleichzeitig arbeiten. Erstellen Sie zwei separate Anweisungen für jeden Port: Port 22
und Port 54747
öffnen Sie dann nur die zweite in der Firewall. (4) Sie können die Match LocalPort
Direktive versuchen , die am Anfang von steht sshd_c
.