Kesalahan khusus ini terjadi saat saluran terenkripsi diatur. Jika sistem Anda dan sistem jarak jauh tidak berbagi setidaknya satu sandi, tidak ada sandi yang disetujui dan tidak ada saluran terenkripsi yang mungkin. Biasanya server SSH akan menawarkan sejumlah kecil cipher yang berbeda untuk melayani klien yang berbeda; Saya tidak yakin mengapa server Anda akan dikonfigurasi untuk hanya mengizinkan 3DES-CBC.
Sekarang, 3DES-CBC tidak buruk. Ini lambat, dan memberikan keamanan yang lebih sedikit daripada beberapa algoritma lainnya, tetapi tidak dapat segera dipecahkan asalkan kunci dipilih dengan benar. CBC sendiri memiliki beberapa masalah ketika ciphertext dapat dimodifikasi dalam perjalanan, tetapi saya sangat curiga bahwa korupsi yang dihasilkan akan ditolak oleh HMAC SSH, mengurangi dampak. Intinya, ada pilihan yang lebih buruk daripada 3DES-CBC, dan ada yang lebih baik. Namun, selalu melangkah dengan hati-hati ketika mengabaikan default terkait keamanan, termasuk pilihan algoritma cipher dan pertukaran kunci.Standarnya adalah default karena suatu alasan; beberapa orang yang cukup pintar menghabiskan sejumlah kekuatan otak dengan mempertimbangkan opsi-opsi dan menetapkan bahwa apa yang dipilih sebagai standar memberikan keamanan keseluruhan terbaik dibandingkan pertukaran kinerja.
Saat Anda tahu, Anda dapat menggunakan -c ...(atau -oCiphers=...) untuk menentukan sandi mana yang ditawarkan dari sisi klien. Dalam hal ini menambahkan -c 3des-cbchanya memungkinkan 3DES-CBC dari klien. Karena ini cocok dengan sandi yang ditawarkan server, saluran terenkripsi dapat dibuat dan koneksi berlanjut ke tahap otentikasi.
Anda juga dapat menambahkan ini ke pribadi Anda ~/.ssh/config. Untuk menghindari membuat perubahan global untuk memecahkan masalah lokal, Anda bisa memasukkannya ke dalam Hostbait. Misalnya, jika konfigurasi SSH Anda saat ini mengatakan (contoh dummy):
Port 9922
dengan menentukan port default global 9922 alih-alih default 22, Anda dapat menambahkan bait host untuk host yang membutuhkan konfigurasi khusus, dan bait host global untuk case default. Itu akan menjadi sesuatu seperti ...
Host 10.255.252.1
Ciphers 3des-cbc
KexAlgorithms +diffie-hellman-group1-sha1
Host *
Port 9922
Lekukan itu opsional, tetapi saya merasa sangat meningkatkan keterbacaan. Garis kosong dan garis yang dimulai dengan #diabaikan.
Jika Anda selalu (atau sebagian besar) masuk sebagai pengguna yang sama pada sistem itu, Anda juga dapat menentukan nama pengguna itu:
Host 10.255.252.1
Ciphers 3des-cbc
KexAlgorithms +diffie-hellman-group1-sha1
User enduser
Host *
Port 9922
Anda tidak perlu menambahkan Host *bait jika tidak ada ~ ~ .ssh / config Anda untuk memulainya, karena dalam hal ini hanya kompilasi-in atau standar seluruh sistem (biasanya dari / etc / ssh / ssh_config) akan menjadi bekas.
Pada titik ini, baris perintah ssh untuk terhubung ke host ini berkurang menjadi sederhana
$ ssh 10.255.252.1
dan semua pengguna lain di sistem Anda, dan koneksi ke semua host lain dari sistem Anda, tidak terpengaruh oleh perubahan.