Saya mencoba masuk ke router DSL saya, karena saya mengalami masalah dengan surat baris perintah. Saya berharap dapat mengkonfigurasi ulang router.
Ketika saya memberikan ssh
perintah, inilah yang terjadi:
$ ssh [email protected]
Unable to negotiate with 10.255.252.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
jadi saya melihat posting stackexchange ini , dan memodifikasi perintah saya untuk ini, tapi saya mendapatkan masalah yang berbeda, kali ini dengan cipher.
$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [email protected]
Unable to negotiate with 10.255.252.1 port 22: no matching cipher found. Their offer: 3des-cbc
jadi adakah perintah untuk menawarkan 3des-cbc
enkripsi? Saya tidak yakin tentang 3des, seperti apakah saya ingin menambahkannya secara permanen ke sistem saya.
Apakah ada perintah untuk mengizinkan 3des-cbc
sandi?
Apa masalah yang terjadi di sini? Itu tidak meminta kata sandi.
ssh -o KexAlgorithms=diffe-hellman-group-sha1 [email protected]
untuk memaksa klien Anda menggunakan algoritma yang lebih lama dan kurang aman, dan lihat apakah ada firmware yang lebih baru untuk router Anda.ssh -vvv ...
akan mengungkapkan semua protokol pertukaran kunci dan sandi yang ditawarkan oleh server.Jawaban:
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-cbc
hanya 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 dalamHost
bait. Misalnya, jika konfigurasi SSH Anda saat ini mengatakan (contoh dummy):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 ...
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:
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
dan semua pengguna lain di sistem Anda, dan koneksi ke semua host lain dari sistem Anda, tidak terpengaruh oleh perubahan.
sumber
Cipher
garis, tetapi kemudian berhasil! Terima kasih!Ok saya membaca halaman manual dan menemukan jawabannya.
Saya tidak ingin memodifikasi file konfigurasi saya, jadi saya mencari istilah "cipher" di halaman manual yang menunjukkan kepada saya
-c
opsi; ini memungkinkan saya untuk menentukan jenis enkripsi. perintah akhirnya adalah:sumber
Saya baru-baru ini mengalami masalah ini menggunakan Putty untuk terhubung ke versi Ubuntu yang lebih baru. Tampaknya versi Putty sebelumnya tidak memiliki sandi yang diperbarui. Jadi mengunduh versi terbaru dari Putty telah menyelesaikan masalah. Itu bisa menjadi solusi lain.
sumber
Jawaban lain untuk comamnds MacOSX dan CLI (SFTP, misalnya): lihat artikel ini @ http://www.openssh.com/legacy.html (OpenSSL Legacy Options). Saya mendapatkan kesalahan konsisten "tidak dapat dinegosiasikan" yang diselesaikan dengan informasi dalam artikel ini, khususnya pengaturan parameter konfigurasi dalam file "~ / .ssh / config".
BTW, saya mendapatkan kesalahan ini ketika server SFTP tujuan saya (tidak di bawah administrasi saya) akhirnya mematikan TLS 1.0 (opsi enkripsi SSL) dan memerlukan TLS 1.1 atau 1.2.
sumber