在我的公司,我们目前正在将AD身份验证集成到Linux服务器上。我已经能够使用PBISO ()完成这个部分。用户可以使用AD帐户登录。
我们现在更进一步,我的任务是通过公钥启用无密码登录。这就是我有问题的地方。为了实现这一点,我几乎需要将每个用户的公开密钥都粘贴到他们的~/..ssh/authorized_keys上。但这是不切实际的,而且效率极低。我需要找到一种自动化的方法。你可能会说这是可以照本宣科的,但我相信这是一个更深的兔子洞。无法手动创建广告主目录。
我想出的一个变化是将用户重定向到/home/ group 1/这样的组目录。因此,我已经创建了这个本地用户group1,然后在/home/group1 1/..ssh/authorized_keys中添加了aduser来测试这一点。当我作为用户使用SSH时,它是询问密码,而不是使用密钥。只有当我作为group1本地用户使用ssh时,它才能工作。
问:您能将公钥存储到本地用户~/..ssh/authorized_ keys并以不同的用户登录吗?如果这是可行的,我怎样才能让它发挥作用?
我的目标是让用户使用他们的AD帐户登录,重定向到/home/group1 1/,并使用authorized_keys进行无密码身份验证。
如有任何意见,我们将不胜感激。谢谢。
发布于 2020-05-29 16:02:39
我找到了解决我的任务,并感谢@PhilipCouling输入。
我在/etc/ssh/sshd_config中启用了AuthorizedKeysCommand和AuthorizedKeysCommandUser来运行一个查找脚本,该脚本将获取公钥。
AuthorizedKeysCommand /sshkey-check.sh AuthorizedKeysCommandUser root
在此脚本中,我在散列数组中添加了用户密钥,并回显相应的密钥以进行身份验证。
ssh域\aduser1 1@centosbox
#!/bin/bash
declare -A keys
# remove the domain name and the backslash from the username entered, i.e. domain\
user=$(echo $1 | sed 's@.*\\@@')
keys[aduser1]="public key"
keys[aduser2]="public key"
keys[aduser3]="public key"
echo ${keys[${user}]}https://unix.stackexchange.com/questions/589374
复制相似问题