【问题标题】:How can I download files from a private repo with ssh for bitbucket/github?如何使用 ssh for bitbucket/github 从私人仓库下载文件?
【发布时间】:2018-01-11 13:38:06
【问题描述】:

我浏览了文档,但在任何地方都找不到如何实现这一点的示例。

这个问题与this 相关,因为我想分发更新,但只分发给那些有 ssh 密钥而不是使用简单身份验证的人。

它通过查看versions.gz 文件然后获取最新下载来工作。 ssH 可以吗?

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
##ssh://git@bitbucket.org/Tysondogerz/ssh/downloads
ssh.connect('104.192.143.2', 8080, username='https://bitbucket.org/Tysondogerz/ssh/downloads/', password="", key_filename='C:\\Users\\Django\\.ssh\\id_rsa')
#TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

有没有办法验证其他人从我的存储库下载更新,或者这只是 bitbucket 的限制,您必须使用公共存储库并使用私有存储库通过基本身份验证和交叉手指给出您的密码。

【问题讨论】:

  • 这是您在ssh.connect 通话中使用的一个非常奇怪的用户名。不过,即使问得不好,这也是一个有趣的问题。
  • 错误提示网络错误。另外-我认为您在这里混淆了ssh 和https 的两个协议。我相信您希望人们只能使用有效密钥下载私有仓库中的版本,对吗?
  • @gabhijit 没错。 Oauth2 和简单身份验证需要其他人登录并通过,而 ssh 似乎根本不起作用
  • @gabhijit 你想到了什么解决方案?

标签: python github ssh bitbucket paramiko


【解决方案1】:

Right from 2009,下载功能描述为:

如果存储库是私有的,则下载文件的 URL 看起来会有些不同(它将包含一个 24 小时有效的身份验证令牌),

您不能将 ssh 与用户名/密码一起使用,因为您在远程服务器上没有帐户(只有 'git' 有一个)。

可以在“Deploy build artifacts to Bitbucket Downloads”看到下载过程

【讨论】:

  • 这非常有用。我无法让它与 python 请求一起工作,但我确实设法让它与 Curl 一起工作,所以它至少可以工作
猜你喜欢
  • 2023-03-23
  • 2022-06-21
  • 2013-12-22
  • 2020-04-27
  • 2017-06-24
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
  • 2023-02-22
相关资源
最近更新 更多