Warum kann eine SSH-Verbindung bei ordnungsgemäßer Konfiguration nicht hergestellt werden?

Warum kann eine SSH-Verbindung bei ordnungsgemäßer Konfiguration nicht hergestellt werden?

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 mitiftop.
  • ich habeufwLaufen mit den richtigen Regeln:

    2222/TCP ALLOW Anywhere

  • Beisshd.confDatei, die ich erhalten habe:

  • Ich habe einen SSH-Server, der auf Port 2222 lauscht.

  • Ich habe den SSH-Server auf AUTHProtokollierungsmodus eingestellt, kann beim /var/log/auth.logVerbindungsversuch 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äuftnetstatauf dem Server ähnliche sudo netstat -tulpn | grep sshAusgaben:

tcp    0    0 127.0.0.1:2222    0.0.0.0:*    LISTEN    969/sshd

Läuftnmapgegen 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äufttcpdumpauf dem Server wie: tcpdump -vniay port 2222 -i eth0wird 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 netstatAusgabe und Ihrer sshdKonfigurationsdatei (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_configeine 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.0oder 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.

verwandte Informationen