Cara membetulkan: Sambungan ditolak oleh port 22 Debian / Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH menyediakan cara yang selamat untuk mengakses dan mengurus pelayan Linux. Kadang kala semasa menyambung ke pelayan SSH, pengguna sering mengalami ralat Penolakan sambungan oleh port 22. Ia berlaku kerana beberapa sebab seperti perkhidmatan SSH tidak berjalan, port disekat oleh firewall, atau pelayan menggunakan port yang lain. Ia juga boleh berlaku kerana masalah konflik IP. Dalam artikel ini, kami akan membincangkan beberapa penyelesaian yang harus anda cuba untuk memperbaiki ralat tersebut.

Catatan: Perintah yang dibincangkan di sini telah diuji pada Ubuntu 20.04 LTS. Perintah yang sama juga berlaku untuk sistem Debian.







Betulkan ralat penolakan Sambungan

Ini adalah ralat penolakan Sambungan yang mungkin anda hadapi semasa menyambung ke sistem jauh melalui SSH.





Ikuti langkah-langkah penyelesaian di bawah ini demi langkah untuk menyelesaikan ralat Penolakan Sambungan.





Pastikan OpenSSH dipasang

Salah satu sebab anda mungkin menerima ralat menolak Sambungan adalah kerana pelayan OpenSSH tidak dipasang pada pelayan sasaran.

Pertama, anda perlu memastikan bahawa pelayan OpenSSH dipasang pada sistem yang anda cuba akses melalui SSH. Untuk memeriksa sama ada OpenSSH dipasang atau tidak, keluarkan arahan berikut di Terminal pelayan Sasaran:



$sudosenarai apt- dipasang | cengkamanopenssh-pelayan

Perintah ini pada dasarnya menyaring istilah openssh-server dari senarai pakej yang dipasang. Sekiranya anda menerima output serupa berikut, ini menunjukkan pelayan OpenSSH telah dipasang. Sebaliknya, jika anda tidak mendapat output, ini bermaksud OpenSSH hilang pada pelayan sasaran.

Sekiranya tidak dipasang pada pelayan sasaran, anda dapat memasangnya menggunakan perintah berikut sebagai sudo:

$sudotepatpasangopenssh-pelayan

Kemudian ketik kata laluan sudo, dan apabila diminta untuk pengesahan, tekan ‘y’. Setelah dipasang, sahkan menggunakan arahan yang sama

$sudosenarai apt- dipasang | cengkamanopenssh-pelayan

Periksa perkhidmatan SSH

Perkhidmatan OpenSSH berjalan di latar belakang dan mendengar sambungan masuk. Perkhidmatan OpenSSH yang dihentikan boleh menjadi salah satu sebab anda menerima ralat Penolakan Sambungan.

Oleh itu, adalah perlu untuk memeriksa sama ada perkhidmatan OpenSSH berjalan atau tidak menggunakan arahan berikut di Terminal:

$sudoperkhidmatansshstatus

Sekiranya anda melihat output berikut, ini bermakna perkhidmatan ini aktif dan berjalan di latar belakang.

Sebaliknya, jika anda menerima tidak aktif (mati), itu bermaksud perkhidmatan tidak berjalan . Anda boleh menjalankan perkhidmatan OpenSSH menggunakan perintah berikut sebagai sudo di Terminal:

$sudoperkhidmatansshmulakan

Untuk memulakan semula perkhidmatan, gunakan arahan berikut:

$sudoperkhidmatansshmula semula

Periksa port mendengar pelayan SSH

Alasan lain untuk menerima ralat menolak Sambungan adalah kerana anda cuba menyambung ke port yang salah. Sebagai contoh, jika pelayan dikonfigurasikan untuk mendengarkan di port 2244, dan anda cuba menyambung ke port lalai 22, maka, dalam kes ini, anda akan menerima ralat yang ditolak Sambungan.

Sebelum cuba menyambung, anda perlu memeriksa port mendengar pelayan SSH. Sekiranya ia adalah port lalai (22), maka anda boleh menyambungkannya menggunakan arahan berikut:

$ssh [nama pengguna]@[IP pemantau jarak jauh ataunama hos]

Sekiranya terdapat beberapa port selain port lalai, anda perlu menyambung ke pelayan SSH menggunakan port ini:

$ssh -p [nombor_pelab] [nama pengguna]@[alamat IP]

Untuk memeriksa port mana yang didengarkan oleh pelayan OpenSSH; gunakan arahan berikut di Terminal:

$sudo netstat -ltnp | cengkamansshd

Anda akan menerima output yang serupa dengan yang berikut:

Pada lajur ketiga, anda dapat melihat port mendengar pelayan adalah 2244. Sekiranya ini berlaku, anda perlu menyambung ke pelayan SSH menggunakan port ini.

$ssh -p [2244] [nama pengguna]@[alamat IP]

Benarkan SSH di firewall

Firewall yang menyekat port SSH boleh menjadi sebab utama kesalahan Ralat Penolakan. Sekiranya firewall berjalan di pelayan SSH, anda perlu membenarkan port SSH di dalamnya menggunakan perintah berikut. Gantikan pelabuhan mengikut nombor port yang dilayan oleh pelayan SSH:

$sudoufw membenarkan port/tcp

Sebagai contoh, jika pelayan SSH mendengar port 2244, anda boleh membenarkannya di firewall sebagai:

$sudoufw membenarkan2244/tcp

Muat semula firewall menggunakan arahan berikut:

$sudotambah nilai ufw

Untuk mengesahkan apakah peraturan telah ditambahkan, periksa status firewall menggunakan perintah berikut di Terminal:

$sudostatus ufw

Output berikut menunjukkan bahawa port 2244 dibenarkan di firewall.

Selesaikan konflik alamat IP pendua

Kesalahan ditolak Sambungan juga boleh berlaku kerana konflik alamat IP pendua. Oleh itu, pastikan sistem tidak mempunyai alamat IP pendua.

Pasang utiliti arping pada sistem anda menggunakan arahan berikut:

$sudotepatpasangarping

Kemudian pingkan alamat IP pelayan SSH.

$ping <alamat IP>

Dalam keluaran, jika anda melihat balasan dari lebih dari satu alamat MAC, maka ini menunjukkan bahawa terdapat IP pendua yang berjalan di sistem. Sekiranya ini berlaku, ubah alamat IP pelayan SSH dan cuba sambungkan lagi dengan alamat IP yang baru.

Ini adalah cara memperbaiki ralat Connection ditolak oleh port 22 dalam sistem Linux. Dalam artikel ini, kami telah menerangkan beberapa cara yang pasti dapat membantu anda dalam menyelesaikan ralat Connection menolak.