GNU/Linux >> Belajar Linux >  >> Linux

Memecahkan masalah SSH

Artikel ini menunjukkan cara memecahkan masalah Secure Shell (SSH) di server Linux®.

Berbagai jenis kesalahan

Jika Anda tidak dapat memasukkan SSH ke server, Anda harus memperhatikan kesalahan (atau kekurangannya) yang Anda terima. Daftar berikut menjelaskan beberapa kemungkinan kesalahan.

Akses ditolak atau Otentikasi ditolak

Jenis kesalahan ini terjadi setiap kali Anda masuk melalui SSH dengan kredensial yang salah. Jika Anda mendapatkan kesalahan ini, Anda dapat memeriksa berikut ini:

  • Pastikan Anda telah mengetik nama pengguna dan sandi dengan benar.
  • Jika Anda menggunakan pasangan kunci SSH, pastikan Anda telah menginstal kunci pribadi di komputer lokal Anda.

Port 22:Sambungan ditolak

Kesalahan ini terjadi karena alasan berikut:

  • SSH tidak diinstal atau dijalankan.
  • SSH mendengarkan pada port yang berbeda.
  • Aturan firewall tidak mengizinkan SSH.

Kesalahan Jaringan:Waktu sambungan habis

Kesalahan ini sering terjadi karena masalah konektivitas jaringan di server atau mesin lokal Anda. Setiap kali Anda menerima kesalahan ini, pastikan komputer lokal Anda terhubung ke Internet. Jika terhubung, periksa juga koneksi server untuk memastikan server berjalan.

Periksa dari luar

Berikut adalah beberapa cara umum untuk memecahkan masalah SSH dari luar server Anda:

nmap

nmap adalah alat eksplorasi jaringan dan keamanan atau pemindai port. Anda dapat menggunakan alat ini untuk memeriksa apakah port untuk SSH terbuka di server. Contoh berikut memberikan perintah dan outputnya:

$ nmap <ip-address-of-host>

Starting Nmap 6.40 ( https://nmap.org ) at 2020-03-21 23:44 UTC
Nmap scan report for <ip-address-of-host>
Host is up (0.033s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.35 seconds

ssh -vvv

Menggunakan ssh dengan -vvv flags menghasilkan keluaran verbose saat Anda memasukkan SSH ke server. Perintah ini dapat memberikan beberapa informasi berguna untuk memecahkan masalah dengan tepat di mana masalahnya.

Periksa dari dalam

Jika Anda mengalami masalah dengan SSH, Anda dapat masuk menggunakan konsol darurat untuk memecahkan masalah server guna memeriksa kondisi berikut:

Proses SSH

Pertama, pastikan proses SSH berjalan dengan menjalankan perintah berikut:

  • Untuk Ubuntu® 16.04+, Debian® 8+, dan Centos® 7+:systemctl status sshd
  • Untuk Centos 6:service sshd status

Jika Anda tidak melihat layanan berjalan, Anda dapat memulai proses dengan menggunakan perintah berikut:

  • Untuk Ubuntu 16.04+, Debian 8+, dan Centos 7+:systemctl start sshd
  • Untuk Centos 6:service sshd start

netstat

netstat perintah menunjukkan kepada Anda koneksi saat ini di server. Perintah ini adalah cara yang baik untuk memeriksa dan melihat port SSH mana yang sedang berjalan. Saat Anda menjalankan netstat , gunakan flag -plnt untuk mendapatkan output berikut:

# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp6       0      0 :::22                   :::*                    LISTEN      13631/sshd             

File konfigurasi SSH

File konfigurasi SSH, /etc/ssh/sshd_config , mengatur konfigurasi SSH. Ada banyak opsi dalam file konfigurasi, tetapi berikut adalah beberapa yang harus diperhatikan:

Port 22            <---- The port ssh runs on
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

~
~
~

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes  <---- Allows or block users logging in as root
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes  <---- Will state whether or not a user needs an ssh key to log in

Atau, Anda dapat menggunakan grep perintah untuk mencari baris khusus ini. Saat Anda menggunakan grep perintah, Anda harus spesifik saat mencari frasa tertentu. Hati-hati dengan tanda baca, kapitalisasi, dan ejaan.

$ sudo grep Port /etc/ssh/sshd_config
#   Port 22

Firewall

Jika Anda memiliki konektivitas jaringan, semua konfigurasi sudah benar, dan Anda masih tidak dapat terhubung melalui SSH, Anda mungkin ingin melihat aturan firewall di server. Di server Linux, iptables memiliki aturan-aturan ini. Untuk membuat daftar aturan firewall di iptables , jalankan perintah iptables -L . Untuk mempelajari lebih lanjut tentang iptables , baca Pengenalan iptables.

fail2ban

fail2ban adalah aplikasi yang memblokir alamat IP setelah sejumlah upaya login yang gagal. Untuk memeriksa jail, Anda dapat menjalankan perintah fail2ban-client status . Perintah ini menunjukkan kepada Anda semua jail yang dikonfigurasi di server, dan alamat IP yang ada di jail tersebut.

File log

Ketika semuanya gagal, buka file log. File-file ini memberikan informasi tentang apakah Anda mencapai server atau tidak, jika Anda menggunakan kata sandi yang tidak valid, dan sebagainya. File log yang harus Anda tinjau mencakup file berikut:

  • Ubuntu atau Debian:/var/log/auth.log
  • CentOS atau RHEL®:/var/log/secure

Saat mencari melalui file log ini, Anda dapat menggunakan less perintah untuk mengurai seluruh file dan mencari waktu atau string tertentu. Jika Anda telah masuk ke server dari konsol, Anda dapat menggunakan tail -f pada log saat Anda mencoba memasukkan SSH ke server. Kemudian, Anda dapat melihat pembaruan file log secara real time.


Linux
  1. Memecahkan masalah server cloud Linux yang rusak

  2. Memecahkan masalah server cloud Windows yang rusak

  3. Memecahkan masalah akses jarak jauh ke SQL Server

  1. Cara SSH di Linux dari Android

  2. Ssh – Memindahkan Aplikasi yang Sedang Berjalan Ke Server X yang Berbeda??

  3. Ssh, Sudo, Lalu Unduh?

  1. Cara Mengaktifkan SSH di Debian 9 atau 10

  2. Bagaimana Cara Ssh Ke Server Menggunakan Server Lain??

  3. Mengapa login SSH saya lambat?