원격 컴퓨터로 ssh하려고하는데 시도가 실패합니다.
$ 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
로그의 마지막 문자열을 이해하는 한 서버는 다음 4 가지 암호 알고리즘 중 하나를 사용하도록 제안합니다 aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
. 내 ssh 클라이언트가 지원하지 않는 것처럼 보이므로 서버와 클라이언트가 더 이상 협상 할 수 없습니다.
그러나 내 고객은 제안 된 모든 알고리즘을 지원합니다.
$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
... and there are several more.
그리고 내가 명시 적으로 다음과 같은 알고리즘을 지정하면 :
ssh -vvv -c aes256-cbc admin@192.168.100.14
서버에 성공적으로 로그인 할 수 있습니다.
내 ~/.ssh/config
암호 관련 지시문이 포함되어 있지 않습니다 (실제로 완전히 제거했지만 문제는 남아 있습니다).
그렇다면 클라이언트와 서버가 명시적인 지시없이 사용할 암호를 결정할 수없는 이유는 무엇입니까? 클라이언트는 서버가 지원 aes256-cbc
한다는 것을 이해하고 클라이언트 는 자신이 직접 사용할 수 있음을 이해합니다. 왜 서버를 사용하지 않습니까?
몇 가지 추가 사항 :
몇 시간 (약 한 달) 전에는 그러한 문제가 없었습니다. 그 이후로 ssh 구성 파일을 변경하지 않았습니다. 그래도 설치된 패키지를 업데이트했습니다.
매우 비슷한 모양의 문제를 설명하는 질문이 있지만 내 질문에 대한 답변이 없습니다 .ssh가 협상 할 수 없습니다-일치하는 키 교환 방법을 찾을 수 없습니다
업데이트 : 문제 해결
telcoM이 설명했듯이 문제는 서버와 관련이 있습니다. 사용되지 않는 암호 알고리즘 만 제안합니다. 클라이언트와 서버가 모두 구식이 아니라고 확신했습니다. 서버에 로그인했지만 (Synology이며, 사용 가능한 최신 버전으로 업데이트 됨)를 검사했습니다 /etc/ssh/sshd_config
. 이 파일의 첫 번째 (!) 줄은 다음과 같습니다.
Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
이것은 매우 이상합니다 (파일에서 줄이 맨 처음이라는 사실). 파일을 한 번도 만지지 않은 것이 확실합니다. 그러나 줄을 다음과 같이 변경했습니다.
Ciphers aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
서버를 다시 시작하고 ( sshd
서비스 를 다시 시작하는 방법 만 알지 못했음 ) 이제 문제가 사라졌습니다. 평소처럼 서버에 ssh 할 수 있습니다.