Tidak dapat SSH dari LAN luar meskipun penerusan port tampaknya baik-baik saja

8

Menjalankan Ubuntu 12.04, saya telah menyiapkan server OpenSSH. Saya dapat terhubung dari dalam LAN, tetapi tidak dari luar. Saya menggunakan sshd_configfile yang sama seperti pada mesin Ubuntu 12,04 saya yang lain (yang duduk di LAN yang berbeda).

$ ssh 192.168.0.2

berfungsi dengan baik, tapi

$ ssh 65,76.97.222

(dibuat alamat IP) tidak berfungsi. Tidak ada yang terjadi. Tidak ada pesan kesalahan, atau apa pun. Prompt hanya duduk di sana.

Berkat komentar di bawah ini, saya telah berhasil memverifikasi melalui situs web canyouseeme.org dan ShieldsUP bahwa port 22 memang terbuka.

Dengan menggunakan opsi ini -vvv, saya mendapatkan yang berikut:

$ 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

Dan kemudian prompt hanya duduk di sana.

Informasi debug lebih lanjut dari 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

Saya mengizinkan setiap pengguna untuk terhubung, khususnya nama pengguna saya sendiri. Yang membingungkan saya adalah bahwa saya belum memiliki masalah ini pada mesin lain, meskipun mereka berada di jalur yang berbeda. Lan ini hanya memiliki satu komputer yang terpasang padanya. Adakah ide bagaimana melanjutkan dari sini?

DustByte
sumber
coba gunakan opsi verbose ( -v, -vv, untuk -vvv) untuk mendapatkan info tambahan re: sambungan. misalnya ssh -vvv -p 51555 65.76.97.222,.
amc
periksa port penerusan canyouseeme.org
hwez
Terima kasih, saya telah mengedit pertanyaan saya untuk mencerminkan komentar Anda.
DustByte

Jawaban:

3

Beberapa hal untuk Anda periksa.

  1. Periksa /etc/ssh/sshd_configdan pastikan Anda tidak memiliki AllowUsersentri lucu .

  2. Tentukan pengguna yang ingin Anda hubungkan sebagai:

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. Periksa firewall Anda ( iptables):

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    
Fobia
sumber
2

Periksa gateway Anda di server SSH diatur ke router melakukan penerusan port.

route -n

Rute default harus menunjuk kembali ke router itu, jika tidak, Anda akan dapat memulai koneksi melalui itu, tetapi ACK tidak akan pergi ke mana pun!

Grizly
sumber
1

Perlu memeriksa bahwa penerusan port berfungsi dengan benar, saya biasanya memeriksa dengan membuka https://www.grc.com/shieldsup > Lanjutkan> masukkan nomor port Anda di dalam kotak dan klik probe port khusus yang ditentukan pengguna. Itu akan memberi tahu Anda jika port TCP itu sebenarnya terbuka untuk umum

meccooll
sumber
Terima kasih. Saya telah mengedit pertanyaan saya untuk mencerminkan saran Anda. Namun masalah tetap ada.
DustByte
HUH juga jaringannya dikesampingkan sehingga terlihat seperti masalah konfigurasi. Cobagrep sshd /var/log/auth.log
meccooll
Baris berikut kemudian ditambahkan ke auth.log:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte
1

Apakah Anda mendeklarasikan pengguna?

ssh [email protected] -p51555

Jika Anda memberikan kode seperti yang Anda gunakan maka saya percaya bahwa itu akan default ke nama pengguna saat ini.

Selanjutnya, Anda harus memiliki pengguna di sistem TARGET dengan izin. dalam contoh di atas "Jimmy"

wlraider70
sumber
Memang sudah. Saya hanya terhubung dengan pengguna yang sama sepanjang waktu, dan selanjutnya, sshd_configmemungkinkan pengguna untuk terhubung.
DustByte