Nota: Perintah yang dibincangkan di sini telah diuji pada Ubuntu 20.04 LTS. Perintah yang sama juga berlaku untuk sistem Debian.
Betulkan ralat menolak sambungan
Ini adalah ralat "Sambungan ditolak" yang mungkin anda hadapi semasa menyambung ke sistem jauh melalui SSH.
Ikuti langkah di bawah langkah demi langkah untuk menyelesaikan ralat "Sambungan ditolak".
Pastikan OpenSSH dipasang
Salah satu sebab anda mungkin menerima ralat "Sambungan ditolak" 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:
senarai apt $ sudo - dipasang | grep openssh-pelayanPerintah ini pada dasarnya menyaring istilah "openssh-server" dari senarai pakej yang dipasang. Sekiranya anda menerima keluaran serupa berikut, ini menunjukkan pelayan OpenSSH telah dipasang. Sebaliknya, jika anda tidak menerima output, ini bermaksud OpenSSH hilang pada pelayan sasaran.
Sekiranya tidak dipasang pada pelayan sasaran, anda dapat memasangnya menggunakan perintah berikut sebagai sudo:
$ sudo apt install openssh-serverKemudian ketik kata laluan sudo, dan apabila diminta untuk pengesahan, tekan 'y'. Setelah dipasang, sahkan menggunakan arahan yang sama
senarai apt $ sudo - dipasang | grep openssh-pelayanPeriksa perkhidmatan SSH
Perkhidmatan OpenSSH berjalan di latar belakang dan mendengar sambungan masuk. Perkhidmatan OpenSSH yang dihentikan boleh menjadi salah satu sebab anda menerima ralat "Sambungan ditolak".
Oleh itu, adalah perlu untuk memeriksa sama ada perkhidmatan OpenSSH berjalan atau tidak menggunakan arahan berikut di Terminal:
status $ sudo perkhidmatan sshSekiranya anda melihat output berikut, ini bermaksud 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:
$ sudo perkhidmatan ssh bermulaUntuk memulakan semula perkhidmatan, gunakan arahan berikut:
$ sudo service ssh mulakan semulaPeriksa port mendengar pelayan SSH
Sebab lain untuk menerima ralat "Sambungan ditolak" adalah kerana anda cuba menyambung ke port yang salah. Contohnya, jika pelayan dikonfigurasikan untuk mendengarkan pada port 2244, dan anda cuba menyambung ke port lalai 22, maka, dalam kes ini, anda akan menerima ralat "Sambungan ditolak".
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 atau nama hos]Sekiranya terdapat beberapa port selain port lalai, anda perlu menyambung ke pelayan SSH menggunakan port ini:
$ ssh -p [port_number] [nama pengguna] @ [ip_address]Untuk memeriksa port mana yang didengarkan oleh pelayan OpenSSH; gunakan arahan berikut di Terminal:
$ sudo netstat -ltnp | grep sshdAnda 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] @ [ip_address]Benarkan SSH di firewall
Firewall yang menyekat port SSH boleh menjadi sebab utama lain untuk kesalahan "Sambungan ditolak". 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:
$ sudo ufw membenarkan port / tcpSebagai contoh, jika pelayan SSH mendengarkan port 2244, anda boleh membenarkannya di firewall sebagai:
$ sudo ufw membenarkan 2244 / tcp
Muat semula firewall menggunakan arahan berikut:
tambah nilai $ sudo ufwUntuk mengesahkan apakah peraturan telah ditambahkan, periksa status firewall menggunakan perintah berikut di Terminal:
status $ sudo ufwOutput berikut menunjukkan bahawa port 2244 dibenarkan di firewall.
Selesaikan konflik alamat IP pendua
Kesalahan "Sambungan ditolak" 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:
$ sudo apt install arpingKemudian pingkan alamat IP pelayan SSH.
$ pingDalam keluaran, jika anda melihat balasan dari lebih dari satu alamat MAC, maka itu 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 "Sambungan ditolak" oleh port 22 dalam sistem Linux. Dalam artikel ini, kami telah menerangkan beberapa cara yang pasti dapat membantu anda dalam menyelesaikan ralat "Sambungan ditolak".