Ini adalah Pertanyaan Canonical tentang Koneksi yang Ditolak
Kami melihat banyak pertanyaan
Ketika saya mencoba untuk terhubung ke sistem saya mendapat pesan
Sambungan ditolak
Kenapa ini ?
Ini adalah Pertanyaan Canonical tentang Koneksi yang Ditolak
Kami melihat banyak pertanyaan
Ketika saya mencoba untuk terhubung ke sistem saya mendapat pesan
Sambungan ditolak
Kenapa ini ?
Jawaban:
Catatan : Pesan ini adalah gejala dari masalah yang Anda coba selesaikan. Memahami penyebab pesan pada akhirnya akan mengarahkan Anda untuk menyelesaikan masalah Anda.
Pesan 'Koneksi Ditolak' memiliki dua penyebab utama:
Tidak ada proses mendengarkan.
Sejauh ini inilah alasan paling umum untuk pesan tersebut. Pertama, pastikan Anda mencoba terhubung ke sistem yang benar. Jika Anda kemudian menentukan apakah ini masalahnya, pada sistem jarak jauh jalankan netstat atau ss 1 misalnya jika Anda mengharapkan suatu proses untuk mendengarkan pada port 22222
sudo netstat -tnlp | grep :22222
atau
ss -tnlp | grep :22222
Untuk OSX perintah yang sesuai adalah
sudo netstat -tnlp tcp | grep '\.80 '
Jika tidak ada yang mendengarkan maka di atas tidak akan menghasilkan output. Jika Anda melihat beberapa output maka konfirmasikan bahwa itulah yang Anda harapkan kemudian lihat bagian firewall di bawah ini.
Jika Anda tidak memiliki akses ke sistem jarak jauh dan ingin mengkonfirmasi masalah sebelum melaporkannya ke administrator terkait, Anda dapat menggunakan tcpdump (wireshark atau yang serupa).
Ketika koneksi dicoba ke IP: port di mana tidak ada yang mendengarkan, respons dari sistem jarak jauh ke paket SYN awal adalah paket dengan flag RST, ACK set. Ini menutup koneksi dan menyebabkan pesan Koneksi Ditolak misalnya
$ sudo tcpdump -n host 192.0.2.1 dan port 22222
tcpdump: keluaran verbose ditekan, gunakan -v atau -vv untuk protokol decode penuh
mendengarkan pada enp14s0, tipe tautan EN10MB (Ethernet), ukuran tangkap 262144 byte
12: 31: 27.013976 IP 192.0.2.2.34390> 192.0.2.1.22222: Bendera [S] , seq 1207858804, win 29200, opsi [mss 1460, sackOK, TS val 15306344 ecr 0, nop, wscale 7], panjang 0
12: 31: 27.020162 IP 192.0.2.1.22222> 192.0.2.2.34390: Bendera [R.] , seq 0, ack 1207858805, win 0, length 0
Perhatikan bahwa tcpdump menggunakan a . untuk mewakili bendera ACK .
Port diblokir oleh firewall
Jika port diblokir oleh firewall dan firewall telah dikonfigurasi untuk merespons dengan icmp-port-unreachable
ini juga akan menyebabkan koneksi menolak pesan. Sekali lagi Anda dapat melihat ini dengan tcpdump (atau serupa)
$ sudo tcpdump -n icmp
tcpdump: keluaran verbose ditekan, gunakan -v atau -vv untuk protokol decode penuh
mendengarkan pada enp14s0, tipe tautan EN10MB (Ethernet), ukuran tangkapan 262144 byte 13: 03: 24.149897 IP 192.0.2.1> 192.0. 2.2: ICMP 192.0.2.1 tcp port 22222 tidak dapat dijangkau, panjang 68
Perhatikan bahwa ini juga memberitahu kita di mana firewall pemblokiran berada.
Jadi sekarang Anda tahu apa yang menyebabkan pesan Sambungan ditolak Anda harus mengambil tindakan yang sesuai misalnya hubungi administrator firewall atau menyelidiki alasan untuk proses tidak mendengarkan.
1 Alat lain mungkin tersedia.
Bagi saya pada Debian 6 memeras itu semudah memeriksa layanan SSH :
sudo service ssh status
Dan menemukan tidak ada (dengan pesan ssh: unrecognized service
) hanya menginstal layanan :
sudo apt-get install openssh-server
Ini juga berfungsi jika Anda tidak mendapatkan koneksi SFTP, karena SFTP adalah bagian dari SSH (sedangkan FTPS adalah bagian dari FTP).