SSH von außerhalb des LAN kann nicht ausgeführt werden, obwohl die Portweiterleitung in Ordnung zu sein scheint

8

Unter Ubuntu 12.04 habe ich den OpenSSH-Server eingerichtet. Ich kann mich innerhalb des LANs verbinden, aber nicht von außen. Ich verwende dieselbe sshd_configDatei wie auf meinen anderen Ubuntu 12.04-Computern (die sich in einem anderen LAN befinden).

$ ssh 192.168.0.2

funktioniert gut, aber

$ ssh 65.76.97.222

(erfundene IP-Adresse) funktioniert nicht. Nichts passiert. Keine Fehlermeldung oder so. Die Eingabeaufforderung befindet sich einfach dort.

Dank der folgenden Kommentare konnte ich über die Websites canyouseeme.org und ShieldsUP überprüfen, ob Port 22 tatsächlich geöffnet ist.

Mit der Option -vvverhalte ich Folgendes:

$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1

Und dann sitzt die Eingabeaufforderung einfach da.

Weitere Debug-Informationen von var/log/auth.log:

$ grep sshd /var/log/auth.log
[cutting old lines...]    
Jul  6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222

Ich erlaube jedem Benutzer, eine Verbindung herzustellen, insbesondere meinen eigenen Benutzernamen. Was mich verwirrt ist, dass ich dieses Problem auf keinem anderen Computer hatte, obwohl sie sich auf einem anderen LAN befinden. An dieses LAN ist nur ein Computer angeschlossen. Irgendwelche Ideen, wie man von hier aus vorgeht?

DustByte
quelle
versuchen die ausführliche Option ( -v, -vv, bis -vvv) zusätzliche Informationen re zu erhalten: die Verbindung. zB , ssh -vvv -p 51555 65.76.97.222.
Amc
Überprüfen Sie den Weiterleitungsport canyouseeme.org
hwez
Vielen Dank, ich habe meine Frage bearbeitet, um Ihre Kommentare wiederzugeben.
DustByte

Antworten:

3

Ein paar Dinge, die Sie überprüfen müssen.

  1. Überprüfen Sie /etc/ssh/sshd_config, ob Sie keine lustigen AllowUsersEinträge haben.

  2. Geben Sie den Benutzer an, zu dem Sie eine Verbindung herstellen möchten:

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. Überprüfen Sie Ihre Firewall ( iptables):

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    
Phobos
quelle
2

Überprüfen Sie, ob Ihr Gateway auf dem SSH-Server auf den Router eingestellt ist, der die Portweiterleitung durchführt.

route -n

Die Standardroute sollte auf diesen Router zurückweisen, andernfalls können Sie Verbindungen über diesen Router herstellen, aber die ACKs gehen nirgendwo hin!

Grizly
quelle
1

Um zu überprüfen, ob die Portweiterleitung ordnungsgemäß funktioniert, gehe ich normalerweise zu https://www.grc.com/shieldsup > Weiter> Geben Sie Ihre Portnummer in das Feld ein und klicken Sie auf Benutzerdefinierte benutzerdefinierte Portsonde. Das sollte Ihnen sagen, ob dieser TCP-Port tatsächlich für die Öffentlichkeit zugänglich ist

meccooll
quelle
Vielen Dank. Ich habe meine Frage bearbeitet, um Ihren Vorschlag widerzuspiegeln. Problem bleibt jedoch.
DustByte
HUH gut, das Netzwerk ist ausgeschlossen, sieht also wie ein Konfigurationsproblem aus. Versuchen Siegrep sshd /var/log/auth.log
meccooll
Die folgende Zeile wird dann hinzugefügt zu auth.log:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte
1

Erklären Sie einen Benutzer?

ssh [email protected] -p51555

Wenn Sie den Code so angegeben haben, wie Sie ihn verwenden, wird meiner Meinung nach standardmäßig der aktuelle Benutzername verwendet.

Darüber hinaus benötigen Sie einen Benutzer mit Berechtigung im TARGET-System. im obigen Beispiel "Jimmy"

wlraider70
quelle
Ich habe in der Tat. Ich verbinde mich immer nur mit demselben Benutzer und sshd_configerlaube außerdem jedem Benutzer, eine Verbindung herzustellen .
DustByte