Nie można SSH z zewnętrznej sieci LAN pomimo przekierowania portów wydaje się w porządku

8

W systemie Ubuntu 12.04 skonfigurowałem serwer OpenSSH. Mogę łączyć się z sieci LAN, ale nie z zewnątrz. Używam tego samego sshd_configpliku, co na moich innych komputerach z systemem Ubuntu 12.04 (które znajdują się w innej sieci LAN).

$ ssh 192.168.0.2

działa dobrze, ale

ssh 65,76.97.222

(skonfigurowany adres IP) nie działa. Nic się nie dzieje. Brak komunikatu o błędzie lub cokolwiek innego. Podpowiedź po prostu tam siedzi.

Dzięki komentarzom poniżej udało mi się zweryfikować za pośrednictwem stron internetowych canyouseeme.org i ShieldsUP, czy port 22 jest rzeczywiście otwarty.

Korzystając z opcji -vvv, otrzymuję:

$ 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

A potem podpowiedź po prostu tam siedzi.

Dalsze informacje debugowania z 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

Zezwalam każdemu użytkownikowi na nawiązanie połączenia, w szczególności mojej własnej nazwy użytkownika. To, co mnie dezorientuje, to fakt, że nie miałem tego problemu na żadnej innej maszynie, chociaż są one na innym komputerze. Do tej sieci jest podłączony tylko jeden komputer. Jakieś pomysły na dalsze kroki?

DustByte
źródło
spróbuj użyć opcji opisowy ( -v, -vv, aby -vvv), aby uzyskać informacje dodatkowe Re: połączenie. np ssh -vvv -p 51555 65.76.97.222.
amc
sprawdź port przekierowania canyouseeme.org
hwez
Dzięki, edytowałem moje pytanie, aby odzwierciedlić twoje komentarze.
DustByte,

Odpowiedzi:

3

Kilka rzeczy do sprawdzenia.

  1. Sprawdź /etc/ssh/sshd_configi upewnij się, że nie masz żadnych śmiesznych AllowUserswpisów.

  2. Podaj użytkownika, z którym chcesz się połączyć, jako:

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. Sprawdź swoją zaporę ogniową ( iptables):

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    
Fobos
źródło
2

Sprawdź, czy brama na serwerze SSH jest ustawiona na router wykonujący przekierowanie portów.

route -n

Domyślna trasa powinna wskazywać z powrotem na ten router, w przeciwnym razie będziesz mógł inicjować połączenia przez niego, ale ACK nigdzie nie pójdzie!

Grizly
źródło
1

Muszę sprawdzić, czy przekierowanie portów działa poprawnie, zwykle sprawdzam, przechodząc do https://www.grc.com/shieldsup > Kontynuuj> wstaw numer portu w polu i kliknij niestandardową sondę portu określoną przez użytkownika. To powinno ci powiedzieć, czy ten port TCP jest w rzeczywistości otwarty dla publiczności

meccooll
źródło
Dzięki. Zredagowałem moje pytanie, aby odzwierciedlić Twoją sugestię. Problem jednak pozostaje.
DustByte,
Cóż, sieć jest wykluczona, więc wygląda na problem z konfiguracją. Spróbujgrep sshd /var/log/auth.log
meccooll,
Następnie dodaje się następujący wiersz auth.log:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte,
1

Czy deklarujesz użytkownika?

ssh [email protected] -p51555

Jeśli podałeś kod w sposób, w jaki go używasz, to uważam, że domyślną nazwą będzie bieżąca nazwa użytkownika.

Ponadto musisz mieć użytkownika w systemie TARGET z uprawnieniami. w powyższym przykładzie „Jimmy”

wlraider70
źródło
Rzeczywiście mam. Łączę się tylko z tym samym użytkownikiem przez cały czas, a ponadto sshd_configpozwala każdemu użytkownikowi się połączyć.
DustByte,