Menjalankan Ubuntu 12.04, saya telah menyiapkan server OpenSSH. Saya dapat terhubung dari dalam LAN, tetapi tidak dari luar. Saya menggunakan sshd_config
file 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?
-v
,-vv
, untuk-vvv
) untuk mendapatkan info tambahan re: sambungan. misalnyassh -vvv -p 51555 65.76.97.222
,.Jawaban:
Beberapa hal untuk Anda periksa.
Periksa
/etc/ssh/sshd_config
dan pastikan Anda tidak memilikiAllowUsers
entri lucu .Tentukan pengguna yang ingin Anda hubungkan sebagai:
Periksa firewall Anda (
iptables
):sumber
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!
sumber
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
sumber
grep sshd /var/log/auth.log
auth.log
:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
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"
sumber
sshd_config
memungkinkan pengguna untuk terhubung.