Saya mengkompilasi OpenSSH_6.6p1 di salah satu server kami. Saya dapat masuk melalui SSH ke server yang ditingkatkan. Tapi saya tidak dapat terhubung ke server lain yang menjalankan OpenSSH_6.6p1 atau OpenSSH_5.8 dari ini. Saat menghubungkan saya mendapatkan kesalahan seperti di bawah ini.
Read from socket failed: Connection reset by peer
Di server tujuan di log, saya melihatnya seperti di bawah ini.
sshd: fatal: Read from socket failed: Connection reset by peer [preauth]
Saya mencoba menentukan cipher_spec [ssh -c aes128-ctr destination-server] seperti yang disebutkan di sini dan dapat terhubung. Bagaimana cara mengkonfigurasi ssh untuk menggunakan cipher secara default? Mengapa sandi dibutuhkan di sini?
telnet ip.or.name.of.offending.server 22
?Jawaban:
Masalahnya terdengar seperti bug di sisi server. Ketika klien mengirim daftar sandi, server openssh mungkin mengharapkan untuk dapat membaca daftar dalam satu panggilan sistem.
Jika daftar sandi yang didukung lebih panjang daripada yang dapat dikirim dalam satu paket, server mungkin mendapatkan lebih sedikit byte pada panggilan pertama dari yang diharapkan. Perilaku yang benar di server adalah melakukan panggilan lain untuk mendapatkan sisa byte. Tapi dari deskripsi masalah yang muncul, server malah menutup koneksi ketika tidak mendapatkan daftar lengkap cipher secara bersamaan. Ketika paket berikutnya dari klien tiba, server akan mengirimkan koneksi reset ke klien.
Mengkonfigurasi klien untuk menggunakan daftar sandi yang lebih pendek akan mengatasi bug. Klien openssh akan mencari daftar sandi di tempat-tempat berikut:
Kedua file konfigurasi masing-masing per pengguna dan pengaturan sistem. Penggunaan
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
seperti yang disarankan Eric seharusnya bekerja dengan baik.sumber
Anda dapat menentukan cipher di file konfigurasi ssh (/ etc / ssh / ssh_config atau serupa, tergantung pada $ PREFIX dll). Opsi apa pun yang Anda lewati untuk ssh client pada baris perintah dapat diatur dalam file konfigurasi ssh (klien).
Inilah baris yang relevan (hanya tanda komentar):
sumber
Cara saya memperbaikinya, semoga membantu seseorang:
Edit sshd_config dengan menambahkan nilai
Edit ssh_config dengan menghapus komentar pada nilai
sumber
Atasi masalah ini dengan mengubah izin file di bawah ini menjadi 600.
Juga memodifikasi izin untuk semua file lain di dalam '/ etc / ssh /' ke 644. Semua file file harus dimiliki oleh 'root'.
Di bawah ini adalah set lengkap perintah untuk menetapkan izin yang tepat untuk semua file di bawah direktori '/ etc / ssh':
sumber
Masalah saya yang memiliki gejala yang sama persis dengan yang Anda lihat adalah karena kunci host terpotong. Coba buat ulang dengan:
sumber