shell服务器的简单ssh密钥管理
keyholer的Python项目详细描述
keyholer-用于shell服务器的简单ssh密钥管理
keyholer是一个web应用程序,它允许用户添加ssh密钥 到他们的授权密钥文件,以便他们可以访问他们不需要的系统 否则有一个ssh密钥。它试图以一种安全的方式这样做 尽可能。
用户流程/流程:
- 用户访问Keyholer Web
-
用户输入用户名,然后按提交
>OL> - keyholer web向keyholerd提交命令,"login<;username>;"
- keyholerd检查~<;username>;/.phonenumber,如果错误/丢失,则返回false
- keyholerd通过短信息生成并发送随机代码,返回true
- keyholer web检查返回值,如果为false则返回错误
安装:
有两个部分需要运行:keyholerd和web前端。 您可以使用systemd、runit、screen或任何其他守护进程管理策略 你会喜欢的。尽管keyholerd这个名字目前不支持在 后台程序。
要运行web组件,可以使用您喜爱的wsgi堆栈。我的个人 安装程序使用nginx将请求代理回gunicorn应用服务器。
安全性
由于此软件与许多安全敏感子系统交互,因此 安装时应格外小心。
keyholerd程序必须以根用户身份运行,以便可以向用户的 授权密钥文件。您应该将web组件作为专用的 非特权用户。
用户的.phoneNumber文件必须归该用户所有,chmod'd 600或 keyholerd不会将其视为有效用户。
用户的授权密钥文件必须已经存在,否则keyholerd将不存在 认为是有效用户。
在添加之前,使用"ssh keygen-l"验证所有提交的密钥 到授权的密钥文件。
配置
keyholer需要配置文件。您可以在中找到示例配置 etc/keyholer.conf.示例。您应该将配置安装为 /etc/keyholer.conf,它必须是有效的json。
-
管理员用户
> UL> - 服务器所有者的用户名。只要重置用户密码,该用户就可以收到短信
系统d
如果您在使用systemd作为init系统的系统上,您将发现 可用于在etc/systemd中启动keyholer的文件。简单地 将这些文件复制到/usr/lib/systemd/system并启用服务:
# systemctl enable keyholer.service # systemctl enable keyholer-web.service # /bin/systemctl start keyholer.service # /bin/systemctl start keyholer-web.service