Я новичок в Linux, но новейший в Centos.
с помощью Релиз CentOS 6.6 (окончательный)
Я могу запустить службу ssh через service sshd start
и получить этот вывод
Generating SSH2 RSA host key: [ OK ]
Generating SSH1 RSA host key: [ OK ]
Generating SSH2 DSA host key: [ OK ]
Starting sshd: [ OK ]
И может после подключения по ssh без проблем.
Но мне нужно запустить ssh через /usr/sbin/sshd -D
и получить этот вывод
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
и служба не запускается.
Вывод в вашем первом примере фактически получен из сценария инициализации. Проверьте /etc/init.d/sshd
если вы хотите увидеть полный контекст того, что там происходит.
Если вы пытаетесь реплицировать это в контейнере докера, вам нужно будет реплицировать. Важные команды:
$KEYGEN -q -t rsa -f $RSA_KEY -C '' -N ''
$KEYGEN -q -t dsa -f $DSA_KEY -C '' -N ''
Как только вы развернете все переменные, станет:
/usr/bin/ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C '' -N ''
/usr/bin/ssh-keygen -q -t dsa -f /etc/ssh/ssh_host_dsa_key -C '' -N ''
Я подозреваю, что вы пытаетесь запустить приложение sshd с пользователем без полномочий root.
Разрешения файла ключей хоста позволяют только root читать их.
4 -rw-r--r--. 1 root root 2047 Nov 6 09:07 ssh_config
4 -rw-------. 1 root root 3879 Nov 6 09:07 sshd_config
4 -rw-------. 1 root root 672 Jun 23 13:32 ssh_host_dsa_key
4 -rw-------. 1 root root 963 Jun 23 13:32 ssh_host_key
4 -rw-------. 1 root root 1675 Jun 23 13:32 ssh_host_rsa_key
В CentOS6 selinux может блокировать некоторые действия, поэтому вам может понадобиться заглянуть в:
/var/log/audit/audit.log
Надеюсь, это поможет.