我正在尝试使用 ssh 密钥对对 LDAP 中的用户进行身份验证。我正在运行 Ubuntu 14.04。我使用具有 ssh 公钥对象类(已应用模式)的用户帐户设置了 LDAP。然而,据推测,openssh sshd_config 可以接受一个名为 AuthorizedKeysCommand 的新命令,它接受一个脚本来为用户查找 ssh 密钥。
见combine_ssh_public-key_and_ldap_on_ubuntu
我的问题是,当我添加此命令然后重新启动 sshd 时,它不会侦听端口 22。它说
ssh stop/waiting
ssh start/running
当我运行“service ssh status”时,我看到了:
ssh start/running
但是,当我尝试连接时,即。'ssh localhost',我明白了:
ssh: connect to host localhost port 22: Connection refused
当我检查监听端口时
netstat -a | egrep 'Proto|LISTEN'
我看到这个:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.5.0.36:domain *:* LISTEN
tcp 0 0 localhost:domain *:* LISTEN
tcp 0 0 localhost:953 *:* LISTEN
tcp 0 0 *:ldap *:* LISTEN
tcp6 0 0 [::]:domain [::]:* LISTEN
tcp6 0 0 ip6-localhost:953 [::]:* LISTEN
tcp6 0 0 [::]:ldap [::]:* LISTEN
所以 ssh 没有监听 22 端口,它没有监听任何端口。它甚至看起来都没有开始。当我在 sshd_conf 中注释掉这一行时,它开始正常。
AuthorizedKeysCommand "/etc/ssh/ldap-keys.sh"
有谁知道我做错了什么?
ssh -V 返回 1:6.6p1