Saya menggunakan OS X mencoba ssh ke server ubuntu 12.04. Saya bisa masuk SSH - sampai tiba-tiba barang berhenti bekerja. Saya sudah membaca online untuk menggunakan -v
debug ini. Output ditunjukkan di bawah ini. Jika saya ssh ke kotak yang berbeda dan kemudian ssh dari kotak itu ke server saya bisa masuk. Saya tidak tahu cara men-debug masalah ini tetapi ingin belajar.
$ ssh -v me@server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to server [IP] port 22.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 1
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: identity file /Users/me/.ssh/id_dsa type -1
debug1: identity file /Users/me/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Connection reset by peer
Sejauh ini (atas saran dari papan pesan) saya telah mencari host deny file - tetapi tidak ada file seperti itu di komputer saya.
$ cat /etc/hosts.deny
cat: /etc/hosts.deny: No such file or directory
Saya memiliki akses admin di mesin klien tetapi tidak di server.
sshd
mendengarkan pada port alternatif, dengan output verbose, dan memberikan output ketika mencoba terhubung.$(which sshd) -d -p 23
. Jika Anda tidak memiliki kemampuan untuk melakukan ini, opsi Anda sangat terbatas. Taruhan terbaik adalah untuk mendapatkan seseorang yang memiliki hak admin di server.Jawaban:
Perubahan mendadak bisa merupakan hasil dari perubahan file konfigurasi pada
sshd
konfigurasi server , tetapi Anda mengindikasikan tidak dapat memeriksa atau mengubahnya tanpa admin yang benar. Anda masih dapat mencoba yang berikut jika admin server tidak dapat dijangkau (pada waktunya).Log Anda hanya menunjukkan string versi lokal, Anda harus memeriksa versi yang
sshd
berjalan di server dan mesin perantara.Jika versi ini berbeda (terutama antara mesin lokal dan server dan kurang antara mesin perantara dan server) mungkin ada beberapa ketidakcocokan negosiasi, ini telah terjadi sebelumnya di
ssh
. Solusi yang digunakan adalah mempersingkat entri Cipher, HostKeyAlgorithms dan / atau MAC, baik pada commandline (ssh -c aes256-ctr
, dll.) Atau di dalam Anda/etc/ssh/ssh_config
.Anda harus melihat informasi debug (dari menghubungkan melalui perantara ke server) untuk nilai-nilai yang sesuai sebagai argumen untuk resp baris perintah
-c
/Ciphers
,-o HostKeyAlgorithms
/HostKeyAlgorithms
dan-m
/MACs
. perubahan ssh_config.Saya belum memiliki masalah ini untuk sementara waktu, tetapi IIRC ketika saya melakukannya sudah cukup untuk secara manual memaksa pengaturan Ciphers dan HostKeyAlgorithms, setelah itu saya dapat memperbarui versi server
sshd
dan masalahnya hilang.sumber
sshd
paket server diperbarui ke versi yang lebih baru dan menghasilkan ketidakcocokan denganssh
konfigurasi klien saya saat ini seperti yang Anda katakan. Membersihkanssh
file konfigurasi lama saya berhasil. Ini harus menjadi jawaban yang diterima.Anda mungkin telah dilarang oleh
fail2ban
ataudenyhosts
. Dalam kasus seperti itu (dan juga untuk memeriksanya), jika Anda tidak ingin repot dengan bantuan penyedia server Anda, Anda perlu masuk ke server Anda dari alamat IP lain: misalnya server lain, atau koneksi rumah teman, atau wifi hot spot, atau menggunakan SSH dengan TOR.Setelah masuk, periksa apakah alamat IP Anda memang muncul di
/etc/hosts.deny
(di sisi server). Jika demikian, makafail2ban
ataudenyhosts
pasti memang pelakunya.Lihat jawaban atas pertanyaan ini untuk prosedur mencegah
denyhosts
pemblokiran alamat Anda secara terus menerus. Untukfail2ban
menemukan ip Anda denganiptables -L --line-number
dan membatalkan pencekalan ipiptables -D <chain> <chain number>
Anda, Anda memeriksa rincian tentang howtoforge .Anda mungkin ingin menambahkan alamat IP Anda
fail2ban
dandenyhosts
daftar putih (masing-masing/etc/fail2ban/jail.conf
, barisignoreip
, dan/var/lib/denyhosts/allowed-hosts
, buat jika diperlukan (tetapi berhati-hatilah bahwa jalurnya mungkin berbeda pada distribusi Anda)) untuk mencegah masalah terjadi lagi.sumber
Di server host, hapus ssh pub.key yang terletak di sini:
~/.ssh/authorized_keys
untuk mac Anda. Kemudiantail -f /var/log/auth.log
ketika Anda membuka terminal lain dan mencoba untuk ssh lagissh -v me@server
. Jika Anda dimintai kata sandi maka ada masalah dengan kunci ssh Anda. Jika Anda masih melihat 'ssh_exchange_identification: baca: Sambungan direset oleh rekan', maka Anda harus dapat mengidentifikasi apa masalahnya dari entri log di file '/var/log/auth.log' setelah upaya Anda yang gagal untuk login.Jika Anda masih gagal terhubung, posting entri yang dicatat dari file auth di sini dan saya akan merevisi jawaban saya.
sumber
Ini dapat terjadi jika Anda memiliki beberapa mesin di jaringan dengan alamat MAC yang sama (misalnya, jika Anda membuat salinan mesin virtual dan lupa mengubah MAC).
sumber
Saya mendapatkan ini karena nameserver saya ISP di
/etc/resolv.conf
. Server nama ini sering kelebihan beban dan jika reverse DNS lookup gagalsshd
akan menjatuhkan koneksi. Saya memecahkan masalah dengan menggunakan server nama yang lebih dapat diandalkan, misalnya8.8.8.8
.sumber
Saya dihadapkan dengan masalah yang sama. Saya akan membuka sesi ssh dengan sukses, tetapi akan direset setelah beberapa waktu. Ketika saya mencoba menghubungkan gain segera saya akan mendapatkan kesalahan "Sambungan ditolak". ketika saya men-debug sesi saya mendapat pesan ini pada saat koneksi sedang direset
Pada titik ini saya menyadari bahwa ada konflik alamat IP di jaringan. Saya berubah ke alamat lain dan masalah teratasi
sumber
Log Anda berarti sisi server menjatuhkan koneksi. Untuk mengetahui alasannya, Anda harus berkonsultasi dengan log sisi server, mereka harus menunjukkan alasan pemutusan. Anda harus selalu dapat menemukan log di / var / log / messages
Saya bisa menebaknya, ketika koneksi turun setelah klien mengirim nomor versi, server entah bagaimana mengancam klien sebagai tidak kompatibel.
sumber
Saya memiliki masalah yang sama tetapi ternyata penyebabnya berbeda: Saya menggunakan port yang salah.
Pada versi yang lebih baru dari
ssh
kesalahan yang diberikan adalahConnection refused
atauBad port
.Pada versi yang lebih lama kesalahan yang diberikan adalah
ssh_exchange_identification: read: Connection reset by peer
Jadi, ketika Anda mendapatkan kesalahan seperti itu periksa apakah port sudah benar.
sumber
Saya tahu pertanyaan ini sudah lama, tetapi saya ingin membagikan beberapa temuan yang saya miliki. Periksa apakah
/var/empty/sshd
di server memiliki kepemilikan dan izin yang sesuai.Kami memiliki skrip koki yang dimodifikasi untuk memperbarui beberapa izin direktori, tetapi secara tidak sengaja memperbarui direktori di bawah target yang dimaksudkan, mengubah kepemilikan / var ke pengguna / grup aplikasi dan mengubah izin menjadi 775.
sumber
Karena belum disebutkan secara eksplisit dalam Jawaban, cara lain kesalahan ini dapat muncul adalah jika firewall berbasis jaringan antara Anda dan server telah memutuskan untuk memblokir koneksi. Firewall dapat memutuskan bahwa ada "terlalu banyak" koneksi dari IP sistem OS X, dan mulai memblokirnya. Belum ada koneksi "terlalu banyak" dari sistem lain, sehingga diizinkan.
Pesan terakhir yang Anda terima dari server adalah pesan yang muncul bahkan sebelum Anda memulai upaya otentikasi apa pun, yang mengesampingkan sejumlah besar kemungkinan seputar akun, kunci, atau kata sandi Anda.
Contoh dari kebijakan brute-force seperti itu dari sampling acak vendor adalah:
sumber