Uzak makineye ssh deniyorum, girişimi başarısız:
$ ssh -vvv admin@192.168.100.14
OpenSSH_7.7p1, OpenSSL 1.0.2o 27 Mar 2018
.....
debug2: ciphers ctos: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
debug2: ciphers stoc: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
Unable to negotiate with 192.168.100.14 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
Bildiğim kadarıyla günlüğünün son dizesini anladığımız kadarıyla, sunucu teklifler aşağıdaki 4 şifreleme algoritmaları birini kullanmak: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
. Görünüşe göre ssh istemcim hiçbirini desteklemediğinden sunucu ve istemci daha fazla pazarlık yapamıyor.
Ancak istemcim önerilen tüm algoritmaları destekliyor:
$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
... and there are several more.
Ve ben açıkça böyle algoritmayı belirtirseniz:
ssh -vvv -c aes256-cbc admin@192.168.100.14
Sunucuya başarıyla giriş yapabilirim.
Benim ~/.ssh/config
şifreyle ilgili herhangi bir yönerge içermiyor (aslında tamamen kaldırdım, ancak sorun devam ediyor).
Peki, istemci ve sunucu neden açık komutlarım olmadan hangi şifreyi kullanacağına karar veremiyor? İstemci, sunucunun desteklediğini aes256-cbc
anlar, istemci kendi başına kullanabileceğini anlar, neden sadece kullanmıyor?
Bazı ek notlar:
Bir süre önce (yaklaşık bir ay) böyle bir sorun yoktu. O zamandan beri herhangi bir ssh yapılandırma dosyasını değiştirmedim. Yüklü paketleri olsa da güncelledim.
Çok benzer görünen bir sorunu açıklayan bir soru var, ama soruma cevap yok: ssh müzakere edemiyor - eşleşen anahtar değişim yöntemi bulunamadı
GÜNCELLEME: sorun çözüldü
TelcoM açıkladığı gibi, sorun sunucudadır: sadece eski şifre algoritmalarını önerir. Hem istemci hem de sunucunun eski olmadığından emindim. Sunucuya giriş yaptım (bu arada, Synology, en son sürüme güncellendi) ve inceledim /etc/ssh/sshd_config
. Bu dosyanın ilk (!) Satırı şuydu:
Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
Bu çok garip (satırın dosyada çok ilk olması), eminim daha önce dosyaya hiç dokunmadım. Ancak çizgiyi şu şekilde değiştirdim:
Ciphers aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
sunucuyu yeniden başlattı ( sshd
yalnızca hizmeti nasıl yeniden başlatacağınızı bilmiyordum ) ve şimdi sorun gitti: Her zamanki gibi sunucuya ssh yapabilirim.