首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免使用明文密码登录github3.py

避免使用明文密码登录github3.py
EN

Stack Overflow用户
提问于 2015-01-27 07:41:26
回答 2查看 171关注 0票数 0

从另一个stackoverflow上的帖子中,推荐了以下内容。有没有一种方法可以避免使用明文,或者提供一个现有的admin ssh密钥?

代码语言:javascript
复制
from github3 import login
g = login('abcd', password)
with open('~/.ssh/temp.k.pub', 'r') as fd:
    key = g.create_key('abcd', fd)

print("Created {0}".format(key.title))`
EN

回答 2

Stack Overflow用户

发布于 2015-01-27 23:41:40

因此,需要明确的是,当使用GitHub的API进行通信时,您的通信是通过HTTPS进行保护的。github3.py使用请求来执行证书验证并适当地保护连接。这就是说,当我们使用基本身份验证进行身份验证时,您将在base64编码之后在标头中发送凭据(这不是加密的,如果它以某种方式被拦截,则不安全)。

所以说真的,你需要考虑一下你担心谁会“看到”你的证书。如果你担心你的公司在本地运行一个代理,这意味着干预你的连接并窃取你的凭证,这是有限令牌的一个很好的用途。您可以通过API或web用户界面创建令牌。无论采用哪种方法,您都可以(而不是使用现有的代码)执行以下操作:

代码语言:javascript
复制
g = login(token='myspecialtoken')

然后你就会用同样的方法做其他的事情。我还没有检查您是否可以使用令牌为用户创建ssh密钥,但是如果它不起作用,您将得到一个关于需要使用基本身份验证(用户名和密码)的错误。

不过,我仍然想强调,使用您的登录凭据应该是可以的。以任意攻击者的身份拦截和检索凭据的难度很高。如果你担心的是不同的情况,你绝对应该更仔细地研究威胁级别。

票数 0
EN

Stack Overflow用户

发布于 2016-10-23 09:44:07

您可以使用环境变量

代码语言:javascript
复制
gh_login = os.environ.get('GITHUB_LOGIN')
gh_pass = os.environ.get('GITHUB_PASS')

然后将它们传递给login

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28160843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档