将多个ssh公钥与django用户帐户相关联(django sshkey的fork没有sshd集成)

django-simplesshke的Python项目详细描述


django simpleshkey允许您将多个SSH公钥与django相关联 用户帐户。它提供列出、添加、编辑和删除键的视图,每个键 为最终用户消费。当然,您还可以管理SSH密钥 从管理界面。

SSH密钥简单地存储在Django数据库中,使用它们的方法是 取决于您:您可以有一个cron作业,它定期将ssh密钥转储到文件中,或者 连接信号以在每次保存ssh密钥时执行操作… 例如,作者使用ansible将ssh密钥部署到多台计算机上。

关于django sshkey和django Simpleshkey

django simplesshkey是基于2.5.0版的django-sshkey分支。

这个叉子的目标有两个:

  • 只保留管理链接到django的ssh密钥所需的基本功能 用户特别是,与openssh的可选集成 完全移除,简化配置,避免泄漏 默认情况下的信息(公共查找视图)。另外,发送电子邮件时 添加或修改密钥不再进行,因为它可以很容易地 在此应用程序之外实现。
  • 更灵活:对模型施加较少约束(无单一性), 允许重写模型或窗体的某些字段。另外,发送电子邮件 这个应用程序的外部显然允许更多的灵活性。

当然,如果你需要django sshkey的所有额外功能,你应该 继续使用

从django sshkey迁移

如果您使用的是django sshkey,但不需要额外的功能,那么 可以开始使用django simpleshkey并导入数据。

迁移过程有点复杂,有关详细信息,请参见README.upgrading.rst

django应用程序

要在django项目中使用django sshkey,只需将django_sshkey添加到 INSTALLED_APPSsettings.py中,将url映射到项目中,然后 为视图提供模板(示例模板在源代码中提供)。

url配置

此文本假定项目的urls.py映射simplesshkey.urls 进入URL命名空间,如下所示:

urlpatterns = [
  ...
  url('^sshkey/', include('simplesshkey.urls')),
  ...
]

如果使用不同的URL,则需要在下面的示例中调整URL 地图绘制。

设置

SSHKEY_AUTHORIZED_KEYS_OPTIONS
字符串,可选。定义每个 公钥。{username}将被用户名替换;{key_id} 将替换为密钥的id。版本2.3中的新项。
SSHKEY_ALLOW_EDIT
布尔值,默认为False是否允许编辑密钥。 版本2.3中的新功能。
SSHKEY_DEFAULT_HASH
字符串,可以是sha256md5legacy(默认值)违约 用于计算密钥指纹的哈希算法遗产 行为强制OpenSSH的MD5 6.8之前的行为,而不使用MD5: 前缀。版本2.5中的新功能。

模板

示例模板位于templates.example目录中。

sshkey/userkey_list.html
列出用户密钥时使用。
sshkey/userkey_detail.html
用于添加或编辑用户密钥。

管理命令

import_sshkey [--auto-resolve][--prefix PREFIX] [--name NAME] USERNAME KEY_PATH ...
导入SSH公钥以绑定到用户如果给定--auto-resolve/-a, 尝试使用uuid生成唯一的密钥名。期间使用的前缀 此进程是密钥名,但可以使用--prefix/-p更改。
normalize_sshkeys [USERNAME KEY_NAME]
重新计算关键数据以反映更改的设置,例如,如果 更改的SSHKEY_DEFAULT_HASH和某些密钥中的指纹不正确 你的数据库。如果没有参数,所有键都将被规范化。用户名 asnd密钥名是可选的,如果指定了,则会将受影响的密钥限制为 由用户或用户的特定密钥拥有的这也可以做到 通过管理小组,但如果你有一个猪油密钥数据库 请求可能会超时。

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

推荐PyPI第三方库


热门话题
http POST请求Java CouchDB   java删除带有大量尾随0的浮点字符串上的科学符号   JavaEE5和Hibernate   java如何在Spring Social中获得比特定id更早的tweet   java是框架。revalidate()在事件后获取输出是否重要?   java为什么不能返回通用映射?   java如何理解和优化工厂方法的高自时间   java Eclipse 202006错误由于项目的生成路径不完整,因此未生成该项目   多线程是java。util。向量序列化线程安全?   在Eclipse和java中使用不同的构建配置。属性文件   编译Java:从命令行运行的问题   java如何知道消息是否已确认/取消?   Java铸造一套   java Android Seekbar progress已更改变量,给出错误