Mengikuti poin Fred dalam komentar (dan benar-benar membaca pesan kesalahan), saya salah dan ssh sedang terhubung. Saya akan meninggalkan respons asli saya di bagian bawah dan juga menjawab pertanyaan tentang tidak dapat terhubung ke ssh yang sedang berjalan.
Cara lain yang baik untuk mendiagnosis masalah ssh ketika server sshd menolak koneksi, dan jika OP benar tidak ada yang masuk auth.log
atau syslog
, adalah menjalankannya pada port terpisah dengan mengaktifkan debugging (saya telah memilih port arbitrer 44
).
/full/path/to/sshd -p 44 -d
Anda kemudian dapat terhubung dengan klien ssh Anda dan mendapatkan debug masalah lebih lanjut:
ssh -p 44 root@x.x.x.x
Root (seperti yang ditunjukkan Fred dalam jawabannya) adalah pengguna yang berpotensi dibatasi melalui opsi PermitRootLogin
opsi ssh di sshd_config
. Jenis metode otentikasi yang digunakan oleh Anda juga sshd_config
dapat membatasi cara Anda dapat mengakses host:
RSAAuthentication
PubkeyAuthentication
RhostsRSAAuthentication
HostbasedAuthentication
ChallengeResponseAuthentication
PasswordAuthentication
KerberosAuthentication
GSSAPIAuthentication
Lihatlah halaman manual untuk sshd_config ( man 5 sshd_config
) untuk informasi lebih lanjut tentang opsi-opsi itu. Biasanya kebanyakan sshds memiliki RSAAuthentication
, PubkeyAuthentication
dan terkadang PasswordAuthentication
. RSAAuthentication
khusus untuk Protocol 1
dan sebagian besar host menggunakan Protocol 2
yang menggunakan PubkeyAuthentication
. Keduanya mengandalkan root
memiliki file kunci (biasanya ditemukan di /root/.ssh/authorized_keys
), tetapi lokasi ini dapat ditimpa oleh AuthorizedKeysFile
opsi. Sepertinya PasswordAuthentication
tidak diaktifkan di sshd Anda.
Untuk otentikasi RSA dan Pubkey, Anda memerlukan keypair. Yang telah Anda hasilkan dan mereka tinggal di mesin klien Anda di /home/mona/.ssh/id_rsa
dan /home/mona/.ssh/id_rsa.pub
. The publik setengah dari kedua file (kunci yang terkandung dalam /home/mona/.ssh/id_rsa.pub) Anda akan perlu untuk dimasukkan ke dalam root authorized_key
file yang disebutkan di atas.
Jawaban Asli, merujuk pada kegagalan untuk menghubungkan dari jarak jauh ke proses sshd
Itu terlihat seperti TCPWrappers atau firewall yang menutup koneksi awal.
Periksa file Anda auth.log
atau karena ini dapat memberikan beberapa petunjuk yang memblokir koneksi.syslog
/var/log
TCPwrappers biasanya diimplementasikan melalui /etc/hosts.allow
file dan pada beberapa unix tambahan atau hanya /etc/hosts.deny
file (yaitu tanpa file hosts.allow).
Entri biasanya berupa:
<service> : <access list> : <allow|deny>
ATAU
<service> : <access list>
tergantung pada jenis bungkus tcp yang digunakan. Format file-file ini biasanya dapat ditemukan dengan halaman manual hosts_access man 5 hosts_access
. Anda mungkin harus menambahkan entri untuk memungkinkan akses IP jarak jauh Anda.
sshd : my.ip.address.here : allow
Sebagian besar distribusi dengan kernel Linux cenderung digunakan iptables
sebagai firewall utama, meskipun beberapa menggunakan ipchains
. (Saya tahu penggunaan FreeBSD ipfw
yang porting dari NetBSD). Penyedia layanan Anda mungkin juga memiliki firewall, atau router dengan firewall di depan layanan Anda yang memblokir permintaan ini. Mengenai firewall mana yang digunakan oleh host Anda akan memerlukan penyelidikan.
iptables
aturan firewall dapat dicantumkan melalui iptables -nvL
perintah (yang harus dijalankan sebagai root, atau melalui sudo). yang INPUT
rantai adalah ruleset digunakan untuk memungkinkan / melarang koneksi masuk host Anda. Anda mungkin harus menambahkan aturan untuk mengizinkan koneksi SSH masuk:
iptables -I INPUT -p tcp --dport 22 -j ACCEPT -m comment --comment "Allow SSH connections from all hosts"
Anda mungkin ingin membuatnya hanya mengizinkan koneksi dari IP tertentu:
iptables -I INPUT -s 10.10.10.10 -p tcp --dport 22 -j ACCEPT -m comment --comment "Allow SSH connections from the 10.10.10.10 host"
Jika penyedia layanan Anda memblokir port 22, maka Anda mungkin perlu meletakkan layanan di port yang berbeda (port 2222
cukup populer) melalui Port
opsi di sshd_config
file Anda (yang biasanya tinggal di /etc/ssh
).