-1
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key

Может кто-нибудь объяснить, что произойдет, если мы прокомментируем все вышеупомянутые hostkeys.

1 ответ1

0

Итак, в тестовой системе я удалил все строки HostKey из моего sshd_config . Затем убил текущий процесс sshd и запустил его вручную в режиме отладки с помощью sshd -d .

Демон sshd в моем дистрибутиве выглядит достаточно умным, чтобы пытаться прочитать ключи в /etc/ssh/ если они имеют стандартные имена файлов. Даже если вы не ссылаетесь на них с помощью директивы HostKey .

Но если вы удалите эти строки и удалите все существующие ключи хоста, то вы не сможете подключиться к удаленному клиенту.

Конфигурация HostKeys удалена, ключи удалены из /etc/ssh .

debug1: sshd version OpenSSH_6.0p1 Debian-4+deb7u2
debug1: could not open key file '/etc/ssh/ssh_host_rsa_key': No such file or directory
Could not load host key: /etc/ssh/ssh_host_rsa_key
debug1: could not open key file '/etc/ssh/ssh_host_dsa_key': No such file or directory
Could not load host key: /etc/ssh/ssh_host_dsa_key
debug1: could not open key file '/etc/ssh/ssh_host_ecdsa_key': No such file or directory
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
# incoming client connection
Connection from 127.0.0.1 port 44636
debug1: Client protocol version 2.0; client software version OpenSSH_6.0p1 Debian-4+deb7u2
debug1: match: OpenSSH_6.0p1 Debian-4+deb7u2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
debug1: permanently_set_uid: 101/65534 [preauth]
debug1: list_hostkey_types:  [preauth]
No supported key exchange algorithms [preauth]
debug1: do_cleanup [preauth]
debug1: do_cleanup
debug1: Killing privsep child 45384

Чтобы объяснить, что происходит. OpenSSH, по-видимому, имеет некоторые жестко заданные значения по умолчанию для Hostkeys. Если вы не предоставите конфигурацию Hostkeys, она будет искать файлы в стандартном месте. Если он не может их найти, он все равно запустится, но входящие подключения будут невозможны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .