GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Memperbaiki Kesalahan Koneksi SSH yang Ditolak

Pendahuluan

Apakah Anda mengalami masalah dalam mengakses server jarak jauh melalui SSH? Jika SSH merespons dengan pesan "Sambungan ditolak", Anda mungkin perlu mengubah permintaan atau memeriksa penyiapan.

Dalam tutorial ini, Anda akan menemukan alasan paling umum untuk kesalahan koneksi SSH yang ditolak.

Mengapa Koneksi Ditolak Saat Saya SSH?

Ada banyak alasan mengapa Anda mungkin mendapatkan "Sambungan ditolak " kesalahan saat mencoba SSH ke server Anda. Untuk mengatasi masalah ini, Anda harus terlebih dahulu mengidentifikasi mengapa sistem menolak koneksi Anda melalui SSH.

Di bawah ini Anda akan menemukan beberapa alasan paling umum yang dapat menyebabkan penolakan koneksi SSH.

Klien SSH Tidak Terpasang

Sebelum memecahkan masalah lain, langkah pertama adalah memeriksa apakah Anda telah menginstal SSH dengan benar. Mesin tempat Anda mengakses server harus sudah menyiapkan klien SSH. Tanpa pengaturan klien yang benar, Anda tidak dapat melakukan remote ke server.

Untuk memeriksa apakah Anda memiliki klien SSH di sistem Anda, ketik perintah berikut di jendela terminal:

ssh

Jika terminal menyediakan daftar ssh opsi perintah, klien SSH diinstal pada sistem. Namun, jika merespons dengan perintah tidak ditemukan , Anda perlu menginstal Klien OpenSSH.

Solusi:Instal Klien SSH

Untuk menginstal SSH Client di mesin Anda, buka terminal, dan jalankan salah satu perintah yang tercantum di bawah ini.

Untuk sistem Ubuntu/Debian:

sudo apt install openssh-client

Untuk sistem CentOS/RHEL:

sudo yum install openssh-client

Daemon SSH Tidak Terinstal di Server

Sama seperti Anda memerlukan versi klien SSH untuk mengakses server jarak jauh, Anda memerlukan versi server untuk mendengarkan dan menerima koneksi. Oleh karena itu, server dapat menolak koneksi masuk jika server SSH tidak ada atau pengaturan tidak valid.

Untuk memeriksa apakah SSH tersedia di server jauh, jalankan perintah:

ssh localhost

Jika output merespons dengan "Koneksi ditolak ", lanjutkan untuk menginstal SSH di server.

Solusi:Instal SSH di Server Jarak Jauh

Untuk memperbaiki masalah server SSH yang hilang, lihat cara menginstal server OpenSSH.

Kredensial Salah

Kesalahan ketik atau kredensial yang salah adalah alasan umum untuk koneksi SSH yang ditolak. Pastikan Anda tidak salah mengetik nama pengguna atau sandi .

Kemudian, periksa apakah Anda menggunakan alamat IP yang benar dari server.

Terakhir, pastikan Anda memiliki port SSH yang benar membuka. Anda dapat memeriksa dengan menjalankan:

grep Port /etc/ssh/sshd_config

Output menampilkan nomor port, seperti pada gambar di bawah ini.

Layanan SSH Tidak Aktif

Layanan SSH harus diaktifkan dan berjalan di latar belakang. Jika layanan sedang down, daemon SSH tidak dapat menerima koneksi.

Untuk memeriksa status layanan, masukkan perintah ini:

sudo service ssh status

Output harus merespon bahwa layanan aktif. Jika terminal merespons bahwa layanan sedang tidak aktif, aktifkan untuk menyelesaikan masalah.

Solusi:Aktifkan Layanan SSH

Jika sistem menunjukkan daemon SSH tidak aktif, Anda dapat memulai layanan dengan menjalankan:

systemctl start sshd

Untuk mengaktifkan layanan agar berjalan saat boot, jalankan perintah:

sudo systemctl enable sshd

Firewall Mencegah Koneksi SSH

SSH dapat menolak koneksi karena batasan firewall. Firewall melindungi server dari koneksi yang berpotensi berbahaya. Namun, jika Anda telah menyiapkan SSH di sistem, Anda harus mengonfigurasi firewall untuk mengizinkan koneksi SSH.

Pastikan firewall tidak memblokir koneksi SSH karena ini dapat menyebabkan "koneksi ditolak " kesalahan.

Solusi:Izinkan Koneksi SSH Melalui Firewall

Untuk memperbaiki masalah yang kami sebutkan di atas, Anda dapat menggunakan ufw (Uncomplicated Firewall), alat antarmuka baris perintah untuk mengelola konfigurasi firewall.

Ketik perintah berikut di jendela terminal untuk mengizinkan koneksi SSH:

sudo ufw allow ssh

Port SSH Ditutup

Saat Anda mencoba koneksi ke server jauh, SSH mengirimkan permintaan ke port tertentu. Untuk menerima permintaan ini, server harus membuka port SSH.

Jika port ditutup, server menolak koneksi.

Secara default, SSH menggunakan port 22. Jika Anda belum membuat perubahan konfigurasi apa pun pada port tersebut, Anda dapat memeriksa apakah server mendengarkan permintaan yang masuk.

Untuk membuat daftar semua port yang mendengarkan, jalankan:

sudo lsof -i -n -P | grep LISTEN

Temukan port 22 di output dan periksa apakah STATE disetel ke DENGARKAN .

Atau, Anda dapat memeriksa apakah port tertentu terbuka, dalam hal ini, port 22:

sudo lsof -i:22

Solusi:Buka Port SSH

Untuk mengaktifkan port 22 untuk MENDENGARKAN permintaan, gunakan iptables perintah:

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Anda juga dapat membuka port melalui GUI dengan mengubah pengaturan firewall.

SSH Debugging dan Logging

Untuk menganalisis masalah SSH di Linux, Anda dapat mengaktifkan mode verbose atau men-debug modus . Saat Anda mengaktifkan mode ini, SSH mencetak pesan debug yang membantu memecahkan masalah dengan koneksi, konfigurasi, dan autentikasi.

Ada tiga tingkat verbositas:

  • tingkat 1 (-v )
  • tingkat 2 (-vv )
  • tingkat 3 (-vvv )

Oleh karena itu, alih-alih mengakses server jarak jauh menggunakan sintaks ssh [server_ip] tambahkan -v opsi dan jalankan:

ssh -v [server_ip]

Atau, Anda dapat menggunakan:

ssh -vv [server_ip]

atau

ssh -vvv [server_ip]

Ubuntu
  1. Perbaiki ::Koneksi kesalahan SSH Linux ditolak

  2. Bagaimana Memperbaiki Kesalahan Koneksi wget Menolak ketika saya berada di belakang Proxy

  3. Bagaimana cara keluar dari koneksi SSH?

  1. Bagaimana cara meningkatkan batas waktu Koneksi SSH

  2. Koneksi Ssh Ditolak Dari Dalam Lan?

  3. Bagaimana Cara Merutekan Internet Melalui Terowongan Ssh?

  1. Cara Menghubungkan ke Server Menggunakan Fitur BMC Remote Console

  2. Bagaimana cara memeriksa kecepatan koneksi ssh Anda

  3. Cara memperbaiki kesalahan "verifikasi kunci host gagal"