小编mat*_*l42的帖子

带有 LDAP 身份验证 (ActiveDirectory) 的 SSH 和存储在 AD 中的 ssh 密钥

环境: Ubuntu 14.04 和 16.04 服务器、Windows Server 2016 上的 Active Directory、Ubuntu 14.04 和 16.04 客户端。Ubuntu 服务器和客户端不在域中。

大家好,

我对实现 ssh ldap 身份验证的所有方法都有些迷茫。但是我找不到适合我的。

我的愿望:我不想通过使用“sAMAccount@serverIP”登录来连接到我的服务器,我的 SSH 密钥存储在我的 AD 中(添加为 odiSSHPubKeys 的新字段)。我的服务器与我的 AD(ldapsearch 查询)通信良好。我通过更新我的 sshdconfig 实现了这一点:

/etc/ssh/sshd_config

AuthorizedKeysCommand /usr/bin/auth
AuthorizedKeysCommandUser root
Run Code Online (Sandbox Code Playgroud)

/usr/bin/auth

#!/bin/bash

cn=$1
server=ldap.myad.net #Put your server IP
basedn=dc=mydomain,dc=net #Put your basedn
port=389
bindUser=myBindUser
bindPass=myBindUserPassword
#cn=mathieu

ldapsearch -LLL -o ldif-wrap=no -x -h $server -p $port -b $basedn -D $bindUser -w $bindPass -s sub "(sAMAccountName=$cn)" | sed -n 's/^[ \t]*odiSSHPubKeys:[ \t]*\(.*\)/\1/p'
Run Code Online (Sandbox Code Playgroud)

当我连接到 mathieu@192.168.0.231 时,我被 …

ssh ldap authentication

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

authentication ×1

ldap ×1

ssh ×1