将hesiod与route53一起使用的实用程序
hesiod53的Python项目详细描述
#赫西奥德+路53
这是一个跨整个系统管理unix用户、组和ssh密钥的系统。 EC2舰队只使用DNS。这将取代更传统的服务,如LDAP 以及kerberos和route53,后者更易于管理。
用户和组管理通过 [赫西奥德](https://en.wikipedia.org/wiki/Hesiod_(name_service)。这个储存库 包括一个同步工具,它使用 基于yaml文件的必需dns项。
对于ssh密钥,包含一个authorizedKeysCommand帮助程序,以便ssh public 密钥也可以存储在dns中。当ssh客户端尝试使用 公钥身份验证,助手将查询dns以获取正确的ssh密钥, 然后提供给openssh守护进程。这将取代个人 每个用户的授权密钥文件。
#有用的工具
除了这个库之外,您可能会发现下面的内容很有用。
查看如何设置服务器以使用hesiod53 dns进行身份验证。 *[负责角色](https://github.com/fullcontact/ansible-hesiod)
从jumpcloud目录创建yml转储 *[飞云](https://github.com/fullcontact/hesiod53-jumpcloud)
##路由53同步
###安装
` virtualenv env . env/bin/activate pip install /path/to/hesiod53 `
###用法
强烈建议在实际运行命令之前先使用–dry run。这将向您显示在aws route53上将更改的dns。
hesiod53 –dry-run USER_FILE
要真正将更改提交到aws route53,只需关闭–dry run选项。
hesiod53 USER_FILE
运行hesiod53-h获取完整的使用说明。
示例用户配置文件位于 [示例_users.yml](示例_users.yml)。确保您配置了路由53 区域和域正确。
##HESIOD设置
安装赫西奥德。在类似Debian的系统上,这是hesiod包。
配置/etc/hesiod.conf。hesiod配置文件的示例 [示例hesiod.conf](示例hesiod.conf)。设置左侧和右侧 使两个字符串的连接为 您在用户配置文件中使用的域。确保两个左侧 Rhs从一个点开始。
配置/etc/nsswitch.conf。对于passwd和组,添加 赫西奥德,这样您的配置看起来与以下类似:
passwd: compat hesiod group: compat hesiod shadow: compat
在这一点上,如果你把一切都设置好了,那么你应该能够看到 DNS中用户的用户信息。getent passwd user将返回 显示用户信息的类似passwd的行(如果配置了所有内容) 正确地。
###sudo设置(可选)
如果希望用户能够使用sudo,建议添加 用户访问组,然后授予sudo访问组的权限。注意你必须 由于用户没有密码,因此允许sudo无密码访问。
示例sudo行提供组控制盘sudo访问:
%wheel ALL=(ALL) NOPASSWD:ALL
##ssh密钥助手
###安装
ssh帮助程序的路径对于安全性至关重要。ssh将拒绝使用 任何二进制文件,其中所有权可由除根或任何父级以外的任何人写入 目录可由除根目录以外的任何人写入。因此,建议安装到 路径,如/etc/ssh/authkeys.py。
另外,ssh助手依赖于 [dnspython](pypi.python.org/pypi/dnspython)。您可以使用安装 方法,或者您可以安装 类debian系统上的python dnspython包。
###配置
确保用hesiod信息填充/etc/hesiod.conf。见 上面的hesiod设置部分。
然后,在sshd配置中,输入以下选项
AuthorizedKeysCommand /path/to/ssh/command.py AuthorizedKeysCommandUser nobody
这将告诉ssh守护进程运行命令来查找给定的 用户在通过runnin检查任何本地密钥之后g命令作为用户 没有人。
###PAM配置
对于大多数默认的pam设置,如果没有 阴影项,如果您仅使用ssh密钥身份验证,则不存在该项。
要使用户身份验证工作,请确保broken_shadow选项为 传递到pam帐户配置中的pam_unix.so。像德比安一样 系统,这可以在/etc/pam.d/common account中找到。
示例:
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so broken_shadow