Saya mencoba mengatur server SSH pada mesin lokal saya menggunakan OpenSSH. Ketika saya mencoba SSH dari host jarak jauh ke server SSH lokal saya, server SSH tidak merespons dan permintaannya habis. Saya cukup yakin ada perbaikan yang sangat jelas untuk ini yang hanya saya abaikan.
Inilah yang terjadi ketika saya mencoba masuk SSH dari host jarak jauh:
yoshimi@robots:/$ ssh -vv [email protected]
OpenSSH_6.7p1 Debian-5, OpenSSL 1.0.1k 8 Jan 2015
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 99.3.26.94 [99.3.26.94] port 22.
debug2: fd 3 setting O_NONBLOCK
debug1: connect to address 99.3.26.94 port 22: Connection timed out
ssh: connect to host 99.3.26.94 port 22: Connection timed out
Di mana robots
remote host saya, dan 99.3.26.94
server SSH lokal saya.
SSH Sedang Berlari
volt@arnold:~$ ps -A | grep sshd
5784 ? 00:00:00 sshd
Di mana arnold
server SSH lokal saya.
Port Forwarding Diatur Di Router
Router rumah saya sudah diatur untuk meneruskan port 80 dan 22 ke server SSH saya. Menariknya, port 80 bekerja tanpa hambatan - langsung ke direktori web Apache. Port 22 - tidak begitu banyak.
NMap Mengatakan Itu Difilter
yoshimi@robots:/$ nmap -p 22 99.3.26.94
Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-02 14:45 EDT
Nmap scan report for 99-3-26-94.lightspeed.bcvloh.sbcglobal.net (99.3.26.94)
Host is up (0.33s latency).
PORT STATE SERVICE
22/tcp filtered ssh
Nmap done: 1 IP address (1 host up) scanned in 7.59 seconds
Di mana robots
remote host saya, dan 99.3.26.94
server SSH lokal saya.
Ini Bukan IPTables (saya pikir)
volt@arnold:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
... Dan saya tidak memiliki firewall lain di tempatnya - ini adalah jaringan Debian yang relatif baru.
Jadi, lalu: Apa lagi itu? Tampaknya memang semacam firewall-y untuk mengabaikan lalu lintas, tetapi jika bukan router, itu bukan iptables, dan itu bukan firewall lain di server SSH, ... apa lagi yang ada ??
EDIT: Permintaan Koneksi dari Kesalahan Jaringan Internal
yoshimi@robots:/$ ssh [email protected]
ssh: connect to host 192.168.1.90 port 22: No route to host
arping remotehost
harus menjawab hanya satu alamat hw, kemudian periksa apakah hwaddress adalah sama. Kemudian periksa resolusi dengandig remotehost
dandig -x remoteip
, kemudian periksa apakah host jarak jauh tidak menunjuk ke 127.0.0.1, untuk pemeriksaan ini / etc / hosts remote. Dan akhirnya coba nonaktifkan firewall, dan periksa apakah proses ssh sedang berjalan.tail -f
file log mana saja yang Anda sshd tunjuk untuk output. Jika benar-benar tidak ada apa-apa dalam log, kemungkinan besar masalah antara kedua perangkat, bukan pada server ssh.Jawaban:
Jawaban-sendiri yang Sangat Mengecewakan
Setelah mengesampingkan masalah ini selama sehari dan kembali ke sana, saya merasa lega dan gelisah (lebih gelisah daripada lega) untuk menemukan bahwa semuanya, secara misterius, bekerja dengan baik.
Jadi, Apa Masalahnya?
Tidak ada pengaturan yang diubah atau disesuaikan - tidak pada router, tidak pada server SSH, dan tidak pada mesin klien SSH. Ini cukup aman untuk mengatakan itu adalah router tidak menangani lalu lintas yang masuk dengan benar, terlepas dari pengaturan yang tepat. Mengingat bahwa perangkat lunak router rumah mungil tidak benar - benar dirancang untuk berurusan dengan port forwarding, butuh orang miskin beberapa saat untuk mengimplementasikan perubahan yang diperlukan.
Tapi Sudah Seperti 6 Jam !!
Ya bung, aku tahu. Saya menghabiskan sepanjang hari untuk mencari tahu apa yang salah - dan tidak pernah menemukannya karena tidak ada yang salah. Jelas, itu bisa memakan waktu 6 jam - mungkin lebih - untuk pengaturan router berlaku.
Jadi Bagaimana Saya Tahu Jika Ini Masalah Saya?
Alat bagus yang saya temui selama petualangan ini adalah
tcpdump
. Si kecil yang ramping ini mengendus lalu lintas untuk Anda, menawarkan wawasan berharga tentang apa yang sebenarnya terjadi. Selain itu, ia memiliki beberapa fitur pemfilteran super yang memungkinkan Anda mempersempit apa yang ingin Anda lihat. Misalnya, perintahnya:Menceritakan
tcpdump
untuk mencari lalu lintas melalui antarmuka wlan1 (-i
'antarmuka' =), hanya melalui port 22, mengabaikan resolusi DNS nama (-n
= 'tidak ada nama resolusi'), dan kami ingin melihat kedua lalu lintas masuk dan keluar (-Q
menerimain
,out
atauinout
;inout
adalah default).Dengan menjalankan perintah ini di server SSH Anda saat mencoba terhubung melalui mesin jarak jauh, dengan cepat menjadi jelas di mana tepatnya masalahnya terletak. Ada, pada dasarnya, 3 kemungkinan:
SYN
paket mesin remote diabaikan dan dijatuhkan oleh router sebelum mereka bahkan mencapai server Anda.Dan begitu Anda telah menemukan di mana masalahnya terletak, perbaikannya (biasanya) sepele.
sumber
Saya menjalankan Mint (Ubuntu).
Saya telah melakukan segalanya ... kunci publik dalam format yang benar di otor_keys, chmodding, chowning, restart ssh dan sshd dll. Seperti yang telah didokumentasikan di semua tempat.
Bagi saya, itu adalah ufw firewall. Kurangnya respons ssh sama sekali memberi saya tip untuk ini, namun saya bisa ping tidak ada masalah kedua cara pada LAN.
Saya diuji oleh:
... dan itu bekerja dengan sempurna, yaitu saya mendapat respons dari panggilan ssh.
Jadi, mulai ufw lagi:
... dan tambahkan aturan:
Semua bekerja dengan baik sekarang.
sumber
ufw
) menyelesaikan masalah saya di Ubuntu 16.04. Saya telah mengikuti instruksi instalasi Jenkins secara membabi buta dan mengaktifkanufw
prosesnya. Setelah menonaktifkannya, sshd bekerja kembali.Jika Anda, seperti saya, telah mengaktifkan UFW (di Linux, Ubuntu dalam kasus saya), coba ini:
Ini akan memungkinkan OpenSSH di firewall.
sumber
Hanya untuk orang lain:
Saya harus menggunakan opsi -P di tcpdump bukan -Q
sumber
Sebagian besar waktu firewall adalah pelakunya. Lakukan
service iptables stop
danservice ip6tables stop
.Jika layanan berhenti tidak berfungsi, maka lakukan iptable flush.
Jika itu VM maka lakukan hal yang sama di host juga
sumber