将多个ssh公钥与django用户帐户关联。

django-sshke的Python项目详细描述


django应用程序

若要在django项目中使用django sshkey,只需将django sshkey添加到 settings.py 中安装的应用程序,将URL映射到您的项目中,然后 为视图提供模板(示例模板在源代码中提供)。

为了将传入公钥与用户关联,必须定义 sshkey_authorized_keys_options 在您的项目的 settings.py 中。这个 应该是一个包含sshd接受的选项的字符串,并带有 {username} 被替换为与传入关联的用户的用户名 公钥。

django sshkey还可以帮助您跟踪上次使用密钥的时间。 sshkey_authorized_key s_options也用键的 id.然后运行的命令可以通知django sshkey使用了密钥 通过向查找url发出http post,将密钥id放入请求中 身体,

例如:

SSHKEY_AUTHORIZED_KEYS_OPTIONS = 'command="my-command {username} {key_id}",no-pty'

在settings.py中,将导致下面命令生成的键看起来类似 至:

command="my-command fred 15",no-pty ssh-rsa AAAAB3NzaC1yc2E...

然后,sshd将验证密钥是否正确,并运行我的命令。 我的命令 就会知道这是弗雷德,他正在使用键15, 并且可以告诉django sshkey通过 运行与此命令等效的命令:

curl -d 15 http://localhost:8000/sshkey/lookup

您的url可能因您的配置而异。

URL配置

本文假设您的项目的 urls.py 映射 django_sshkey.urls 进入url名称空间,如下所示:

import django_sshkey.urls
urlpatterns = patterns('',
  ...
  url('^sshkey/', include(django_sshkey.urls)),
  ...
)

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

< div >

警告

/sshkey/lookup url可以公开所有具有 已上载到您的网站。虽然它们是公钥,但可能是 最好限制哪些系统可以通过您的Web服务器访问此URL 配置。下面的大多数查找方法都需要访问此url, 只有需要运行查找命令的系统才应该具有访问权限 对它。

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

推荐PyPI第三方库


热门话题
java传递位置作为FragmentPagerAdapter中片段的参数   html Java Jsoup循环打印   java如何使用FileOutputStream写入数据而不丢失旧数据?   java在测试用例类/方法中执行sql before/after/in   java在javafx中注册鼠标处理程序,但处理程序不是内联的   Android嵌入了一个C++库的java代码,不需要TopPLE程序来嵌入它?   片段类内部的java ProgressBar导致setMax方法出现NullPointerException?   带有google app engine的java Activator Play框架   java如何解析星级而不是字符串?   java如何在基本实体中定义通用主键字段?   通过扩展实现Java克隆   使用CipherOutputStream的java递归加密提供一个空字节[]   在运行时提取字段值的Java服务   Java 11和spring boot从spring boot应用程序的fat jar中的依赖项jar加载资源   java尝试使用J2SE枚举所有可用的Wifi网络   使用Java库进行SWIFT MT消息解析   java拆分非逗号分隔的字符串   java为什么toString()不能是静态方法?   java在连接到集群数据库时遇到mongo异常   java访问Hashmap中存储的json有效负载值