3 个不稳定版本
使用旧的 Rust 2015
0.2.1 | 2020年7月6日 |
---|---|
0.2.0 | 2020年3月19日 |
0.1.0 | 2018年5月31日 |
#17 in #openssh
15KB
164 代码行
使用 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