Mengapa semua upaya SSH saya gagal karena batas waktu?


22

Saya baru menggunakan ssh dan teknologi terkait, jadi sangat mungkin saya tidak memahami sesuatu yang mendasar. (Ini juga mungkin pertanyaan untuk Kesalahan Server .... tidak yakin.)

Saya mencoba ssh ke server web (yang saya miliki) dan koneksi tidak pernah dibuat karena batas waktu.

~ $ ssh -vvv DOMAIN.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out

Pikiran pertama saya adalah entah bagaimana saya telah menentukan domain salah, atau ada sesuatu yang salah dengan situs saya. Jadi saya mencoba menyambung ke domain yang sama melalui FTP, dan itu berfungsi dengan baik (diminta untuk nama pengguna):

~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (DOMAIN.com:USER):

Jadi saya pikir mungkin saya hanya menggunakan SSH yang salah. Saya mulai menonton video tutorial ini . Sekitar 1 menit dia melakukannya ssh will@supercars.comdan mendapatkan prompt nama pengguna, tetapi itu memberi saya waktu tunggu yang sama seperti di atas. Saya kemudian mencoba ssh google.comyang melakukan hal yang sama. ssh localhost, di sisi lain, berfungsi dengan baik. Jadi masalahnya tampaknya ada hubungannya dengan permintaan SSH melalui jaringan.

Pikiran saya berikutnya adalah mungkin itu masalah firewall. Saya memiliki Sophos yang diinstal pada mesin ini, tetapi menurut administrator saya itu "tidak boleh" memblokir permintaan SSH keluar.

Adakah yang bisa membantu mencari tahu mengapa ini terjadi?


8
Itu adalah alamat IP langsung yang Anda berikan kepada kami. Ini memiliki koneksi FTP yang tidak aman berjalan di atasnya. Ini mungkin bukan ide yang bagus. Ini juga tidak memiliki apa pun yang berjalan pada port 22, yang saya curigai adalah sumber masalah Anda. Anda tidak bisa hanya ssh menjadi apa saja, server perlu menjalankan sshd, yang ini sepertinya tidak. Jika ini server Anda, hidupkan ssh dan matikan ftp. Anda dapat melakukan ftp over ssh setelah dijalankan.
marinus

3
Tidak perlu dihapus. Saya telah mengedit IP dan meminta SE untuk membersihkan histori edit. Dengan begitu, orang yang menjawab Anda tidak kehilangan reputasi apa pun.
terdon

Jawaban:


24

Pesan kesalahan itu berarti server yang Anda hubungkan tidak membalas upaya koneksi SSH pada port 22. Ada tiga kemungkinan alasan untuk itu:

  1. Anda tidak menjalankan server SSH di mesin. Anda harus menginstalnya untuk dapat melakukan ssh.
  2. Anda menjalankan server SSH pada mesin itu, tetapi pada port yang tidak standar. Anda perlu mencari tahu di port mana ia beroperasi; katakan itu di port 2222, Anda kemudian jalankan ssh -p 2222 hostname.
  3. Anda menjalankan server SSH di mesin itu, dan ia menggunakan port yang Anda coba sambungkan, tetapi mesin memiliki firewall yang tidak memungkinkan Anda untuk terhubung ke sana. Anda harus mengetahui cara mengubah firewall, atau mungkin Anda perlu ssh dari host lain agar diizinkan masuk.

EDIT : seperti yang ditunjukkan dengan benar dalam komentar, yang ketiga tentu saja; dua lainnya akan menghasilkan server mengirim kembali paket "reset" TCP pada upaya koneksi klien, menghasilkan pesan kesalahan "koneksi ditolak", daripada batas waktu yang Anda dapatkan. Dua lainnya mungkin juga demikian, tetapi Anda harus memperbaiki yang ketiga terlebih dahulu sebelum Anda bisa melanjutkan.


6
Jika itu tidak diinstal, atau jika itu berjalan pada port yang berbeda, maka ia akan mendapatkan koneksi yang menolak pesan.
Hut8

2
@ Hut8: Benar. Dari 3 kemungkinan Anda, hanya yang ketiga (firewall) yang dapat menyebabkan waktu habis.
R ..

Di Ubuntu: sudo ufw memungkinkan 22; lakukan pekerjaanmu kemudian; sudo ufw deny 22. digitalocean.com/community/tutorials/…
Daniel

Saya pikir ada kemungkinan ke-4 yang entah bagaimana server tidak dapat diakses (masalah routing Internet, ada sesuatu di antara ...) Bahkan jika Anda dapat mengakses layanan lain karena rute yang dipilih dapat berbeda untuk sshdan layanan lainnya.
Alexis Wilke

3

Periksa dengan perintah telnet apakah Anda dapat terhubung ke port SSH 22. Jika Anda tidak dapat terhubung maka periksa. Pertama, Anda harus dapat terhubung pada port no. 22 ke server.

Secara default port SSH adalah 22. Tetapi jika Anda telah mengkonfigurasi port lain maka gunakan port itu alih-alih 22.

telnet <ip / url server> <port>

mis. telnet domain.com 22


2
Ini akan time out sama saja (kalau tidak ssh -vlog akan menunjukkan koneksi berhasil, daripada mengatakan itu habis)
Wouter Verhelst

@ Wouter Verhelst ya, thnx untuk klarifikasi
AVJ

Bagaimana Anda bisa memeriksa port mana yang dikonfigurasi? Konfigurasikan port baru?
Yonatan Simson

@YonatanSimson, dengan asumsi Anda memiliki akses, Anda dapat menggunakan sudo netstat -a64np( netstat) dan mencari sshdserver (kolom terakhir). Jika Anda tidak memiliki akses, Anda dapat mencoba nmap.
Alexis Wilke
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.