
Mit Ubuntu Server 14.04 habe ich einen SSH-Server auf Port 2222 zum Laufen gebracht (so wurde es beim Erstellen angegeben). Ich habe bereits ganze Setups überprüft und nichts scheint in Ordnung zu sein.
Folgendes ist eingerichtet:
- Beim Erstellen leiten sie TCP-Verbindungen über Port 2222 auf meine IP um.
- Gleiches gilt für Port 80, den ich erreichen kann.
- Wenn ich versuche, mich über SSH an Port 2222 zu verbinden, kann ich die eingehende Netzwerkaktivität sehen mit
iftop
. ich habe
ufw
Laufen mit den richtigen Regeln:2222/TCP ALLOW Anywhere
Bei
sshd.conf
Datei, die ich erhalten habe:Ich habe einen SSH-Server, der auf Port 2222 lauscht.
- Ich habe den SSH-Server auf
AUTH
Protokollierungsmodus eingestellt, kann beim/var/log/auth.log
Verbindungsversuch jedoch nichts sehen. - Dies ist meine sshd.conf-Datei.
- Ja, der SSH-Daemon läuft und wurde neu gestartet.
Jedes Mal, wenn ich versuche, eine Verbindung herzustellen, erhalte ich eine Meldung wie:
ssh: connect to host <publicbuildingip> port 2222: Connection refused
Das Ausführen des Clients im ausführlichen Modus gibt Folgendes aus:
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <publicip> [<publicip>] port 2222.
debug1: connect to address <publicip> port 2222: Connection refused
ssh: connect to host <publicip> port 2222: Connection refused
Und das Gleiche passiert, wenn ich versuche, mich von einem Host im selben Netzwerk aus anzumelden.
Läuftnetstat
auf dem Server ähnliche sudo netstat -tulpn | grep ssh
Ausgaben:
tcp 0 0 127.0.0.1:2222 0.0.0.0:* LISTEN 969/sshd
Läuftnmap
gegen die öffentliche IP von außerhalb des Netzwerks gibt aus:
Host is up (0.051s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
21/tcp closed ftp
80/tcp open http
2222/tcp closed unknown
8080/tcp closed http-proxy
Nmap done: 1 IP address (1 host up) scanned in 5.31 seconds
Versuch telnet <publicip>
2222
Ausgaben:
telnet: Unable to connect to remote host: Connection refused
Dasselbe gilt, wenn es mit einer Netzwerk-IP innerhalb des Gebäudes versucht wird.
Aber wenn iftop auf dem Server ausgeführt wird, zeigt es beim Anmeldeversuch tatsächlich Netzwerkaktivität.
Läufttcpdump
auf dem Server wie: tcpdump -vniay port 2222 -i eth0
wird beim Anmeldeversuch Folgendes ausgeben:
15:53:36.812402 IP (tos 0x0, ttl 64, id 56954, offset 0, flags [DF], proto TCP (6), length 60)
192.168.1.86.39822 > 192.168.1.90.2222: Flags [S], cksum 0xa1b8 (correct), seq 3966921350, win 292000, options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7], lenght 0
Was könnte der Fehler sein?
Antwort1
Basierend auf dieser netstat
Ausgabe und Ihrer sshd
Konfigurationsdatei (insbesonderediese Linie) Ihr SSH-Daemon lauscht auf einer nur lokalen IP-Adresse (127.0.0.1) und nicht auf einer IP, die tatsächlich mit Ihrem LAN kommuniziert oder über das Router-/Gateway-Gerät im Netzwerk ausgehende Verbindungen herstellt.
Stellen Sie sicher, dass Ihr Computer sshd_config
eine Leitung hat ListenAddress
, die sich in Ihrem LAN befindet, z. B. die dem Server zugewiesene private LAN-IP-Adresse. Wenn Sie keine haben, fügen Sie sie nach der Port-Direktive mit einer Syntax wie ListenAddress 0.0.0.0
oder ListenAddress ::
hinzu und ersetzen Sie diese Elemente durch tatsächliche IPv4- oder IPv6-Adressen.
Und denken Sie daran, dass die Bindung an eine beliebige IP-Adresse in 127.0.0.0/8 nur beim lokalen Computer selbst endet, nicht an eine Adresse, die tatsächlich zu Ihrem LAN/lokalen Netzwerk/irgendwo anders weiterleiten kann.