shell服务器的简单ssh密钥管理

keyholer的Python项目详细描述


keyholer-用于shell服务器的简单ssh密钥管理

keyholer是一个web应用程序,它允许用户添加ssh密钥 到他们的授权密钥文件,以便他们可以访问他们不需要的系统 否则有一个ssh密钥。它试图以一种安全的方式这样做 尽可能。

用户流程/流程:

  1. 用户访问Keyholer Web
  2. < DL>
    用户输入用户名,然后按提交 >OL>
  3. keyholer web向keyholerd提交命令,"login<;username>;"
  4. keyholerd检查~<;username>;/.phonenumber,如果错误/丢失,则返回false
  5. keyholerd通过短信息生成并发送随机代码,返回true
  6. keyholer web检查返回值,如果为false则返回错误
< DL>
Keyholer Web显示验证页,用户从短信中输入代码
>OL>
  • keyholer web提交命令,"verify<;username>;<;code>;"
  • keyholerd检查用户名和代码,如果错误则返回false
  • keyholerd读取用户的授权密钥,查找id的列表
  • keyholerd返回:true\n<;id的列表>;
  • keyholer web显示现有密钥的列表,并为新密钥显示一个<;输入>;
  • < DL>
    用户将新键粘贴到文本区域,单击"提交"
    >OL>
  • keyholer web提交命令,"add懔key<;username>;<;code>;<;ssh懔key>;"
  • keyholerd确保代码有效,如果不返回false
  • keyholerd确保ssh\u密钥有效,如果不返回false
  • keyholerd将密钥添加到用户的授权密钥文件中
  • keyholerd向管理员用户发送一条短信,用于提醒/审核目的
  • 安装:

    有两个部分需要运行: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。

      < DL>
      管理员用户 > UL>
    • 服务器所有者的用户名。只要重置用户密码,该用户就可以收到短信
    < DL>
    网络用户 > UL>
  • Web应用程序将运行的用户名
  • < DL>
    > UL>
  • Web用户的组
  • < DL>
    插座
    > UL>
  • 前端用于与后端通信的套接字的路径。此目录必须由 web_user:group 拥有,并且为模式700。如果不存在,则由keyholerd创建。
  • < DL>
    短信号码
    > UL>
  • 将从中发送代码的电话号码
  • < DL>
    令牌 > UL>
  • 代币的有效时间是多少秒。默认为300(5分钟)
  • < DL>
    斜纹 > UL>
  • twilio帐户的帐户sid
  • < DL>
    斜纹布令牌
    > UL>
  • twilio帐户的authToken
  • 斜纹布

    注册一个帐户,注册一个电话号码,然后获取您的身份证和 sid在他们的网站上:

    < Buff行情> http://twilio.com

    这是通过短信息发送代码所必需的。

    系统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
    

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java IntelliJ找不到依赖项选项卡   java向字符串数组string[]添加元素并在Junit中测试结果   如何在eclipse中获取活动java项目的名称   如何使用java在mysql中插入时间   java ArrayList更新了插入一行,但Jtable仍然没有刷新   如何在JavaSwing中命名坐标(点)   java Matcher/模式不打印   java错误地设置了arraylist   使用UsernamePasswordCredential提供程序的java列表Azure AD   java在HTTP请求中设置UTC时间   未加载事件:jquery完整日历Java集成   java Maven插件依赖项无法从内部repo解析依赖项   Maven更新重置Java版本   java如何向中添加图片。带有Apache POI XWPF的docx,但不指定其大小   Java最大函数递归