在centos中用/ usr / sbin / sshd启动sshd

我是Linux新手,但在Centos中是最新的。

使用CentOS版本6.6(最终)

我可以通过service sshd start启动ssh服务并获取此输出

 Generating SSH2 RSA host key: [ OK ] Generating SSH1 RSA host key: [ OK ] Generating SSH2 DSA host key: [ OK ] Starting sshd: [ OK ] 

而且可以通过ssh连接后没有问题。

但是我需要通过/usr/sbin/sshd -D启动ssh并获取这个输出

 Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_dsa_key 

而服务不启动。

第一个示例中的输出实际上来自init脚本。 检查/etc/init.d/sshd如果你想看看发生了什么事情的完整背景。

如果你想在docker容器中复制它,你将需要复制。 重要的命令是:

 $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' 

一旦你展开所有的variables,就变成:

 /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 '' 

我怀疑你试图用非root用户启动sshd应用程序。

主机密钥文件的权限只允许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 

我希望这有帮助。