SSH가 클라이언트-서버 연결(인증 후)에 어떤 유형의 대칭 암호화를 사용하는지 알고 싶습니다. 누가 암호화를 결정했는지는 잘 모르겠습니다. 클라이언트 또는 서버?
/etc/ssh/ssh_config
나는 (클라이언트에서) 그리고 /etc/ssh/sshd_config
(서버에서) 보았지만 아무것도 없었습니다.
답변1
ssh_config
(클라이언트 구성) 및 sshd_config
(서버 구성) 모두 Ciphers
지원되는 암호를 결정하는 옵션이 있습니다. 해당 옵션이 구성 파일에 나타나지 않으면 내장된 기본값이 적용됩니다. 해당 버전의 매뉴얼 페이지에 언급되어 있습니다(배포판이 매뉴얼 페이지를 업데이트하지 않고 컴파일 타임에 목록을 조정하지 않은 경우). 특정 연결의 실제 비밀번호는 다음에 따라 결정됩니다.RFC 4253:
각 방향에서 선택된 암호화 알고리즘은 서버 목록에도 있는 클라이언트 목록의 첫 번째 알고리즘이어야 합니다.
를 실행하면 양쪽 당사자가 제공해야 하는 사항과 특정 연결에 대해 선택한 비밀번호를 확인할 수 있습니다 ssh -vv
.
답변2
클라이언트와 서버 모두 사용할 암호에 동의해야 하므로 암호화에 대해 실제로 "확신"할 수 있는 사람은 없습니다. 두 프로필 모두 옵션이 있습니다 Ciphers
.
다음 명령을 사용하여 사용된 비밀번호를 볼 수 있습니다 ssh -vv
.
$ ssh -vv guthrie
[...]
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
[...]