#openssh #ldap #ssh #cli #authorized-keys

app sakcl

利用 LDAP 的 OpenSSH 授权密钥命令提供者

3 个不稳定版本

使用旧的 Rust 2015

0.2.1 2020年7月6日
0.2.0 2020年3月19日
0.1.0 2018年5月31日

#17 in #openssh

MIT/Apache

15KB
164 代码行

Build status Rust version Latest version All downloads Downloads of latest version

使用 LDAP 的 SSH 授权密钥命令 (sakcl)

sakcl(发音为 'sackle',类似于 'handle')被设计成可以被 OpenSSH 调用的 AuthorizedKeysCommand。它易于安装和配置,并且与 OpenSSH 的其他默认设置兼容。

安装

Cargo

cargo install sakcl

二进制包

curl -o artifacts.zip https://gitlab.com/cardoe/sakcl/-/jobs/71677129/artifacts/download
unzip artifacts.zip

配置

默认配置文件位于 /etc/sakcl.conf。可以通过在用户名之前提供 -c /path/to/config 参数来覆盖它。

配置文件必须看起来像这样

uri = "ldaps://ldap.host.name"
base = "ou=Users,dc=company,dc=com"
# basedn and bindpw are optional parameters
basedn = "dn=serviceacct,ou=Users,dc=company,dc=com"
basspw = "12345"
scope = "one|subtree|base"
# filter will have any * replaced with the username supplied
# otherwise it is passed directly to the LDAP search
filter = "(&(objectClass=posixAccount)(uid=*))"
attr = "attribute-with-ssh-public-key"

配置完成后,可以通过运行以下命令来测试它是否工作

sakcl your-ldap-uid

你应该在标准输出上看到你的 SSH 公钥。要完成配置,使系统使用此工具,请将 AuthorizedKeysCommand 指向你的 sakcl 二进制文件,并将 AuthorizedKeysCommandUser 更改为非特权账户名称。最后,将 /etc/sakcl.conf 的所有权更改为非特权账户名称,并将模式设置为八进制 0400

依赖关系

~11MB
~212K SLoC