Ответы:
Оба ssh_config
(конфигурация клиента) и sshd_config
(конфигурация сервера) имеют Ciphers
опцию, которая определяет поддерживаемые шифры. Если этот параметр не отображается в файле конфигурации, применяется встроенное значение по умолчанию. Он упоминается на странице руководства для вашей версии (если ваш дистрибутив не внес изменения в список во время компиляции без обновления страницы руководства). Фактический шифр для данного соединения определяется в соответствии с RFC 4253 :
Выбранный алгоритм шифрования для каждого направления ДОЛЖЕН быть первым алгоритмом в списке имен клиента, который также находится в списке имен сервера.
Вы можете увидеть, что обе стороны должны были предложить и какой шифр был выбран для данного соединения, запустив ssh -vv
.
И клиент, и сервер должны договориться о том, какой шифр использовать, поэтому никто на самом деле не «определяет» шифрование - оба файла конфигурации имеют 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
[...]