【发布时间】:2016-04-09 10:14:59
【问题描述】:
首先我将简要解释一下我的架构
Openldap 服务器:安装了 openldap 的 Ubuntu 14.04 机器。我关注了这篇文章 https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-a-basic-ldap-server-on-an-ubuntu-12-04-vps 我为每个 posix 帐户添加了 sshpublickey 架构
OpenLDAP 客户端:安装了 libpam-ldap nscd 的 Ubuntu 14.04。我再次关注了数字海洋链接。 https://www.digitalocean.com/community/tutorials/how-to-authenticate-client-computers-using-ldap-on-an-ubuntu-12-04-vps
我在 OpenLDAP 客户端机器上更改了 sshd_config 文件,并提供了 AuthorizedKeysCommand /my/script 来查询 ldap 服务器并获取 sshkey,然后我有一个基于密钥的 ssh 身份验证。
到目前为止一切正常。我还有一个 ubuntu 用户,它是本地用户,不受 LDAP 管理。
现在当我在 Openldap 服务器机器上停止 slapd 守护进程时 我作为客户端计算机上的 ubuntu 用户的活动 ssh 会话挂起(无法重新启动任何服务或运行 ls 或 cat 等基本命令)。即使我尝试以不受 LDAP 管理的 ubuntu 用户身份登录客户端计算机,它也会失败(它成功验证但无法获取环境变量并打开交互式会话)
摘自 ssh -v ubuntu@IP
debug1:身份验证成功(公钥)。
已通过 54.200.221.217 ([54.200.221.217]:22) 的身份验证。
debug1:通道 0:新的 [client-session]
debug1:请求 no-more-sessions@openssh.com
debug1:进入交互式会话。
卡在那里然后超时。
这背后的原因是什么?我的架构也有任何缺陷。我不想要基于密码的 ssh,因为它很容易被黑客攻击。
【问题讨论】:
标签: linux ubuntu ssh ldap openldap