如何使用SSH从Bitbucket/Github的私有仓库下载文件?

3
我查看了文档,但无法找到任何关于如何实现这一点的示例。
这个问题与这个有关,因为我想分发更新,但只针对那些拥有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的限制,必须使用公共存储库,对于私有存储库,只能通过基本身份验证(basic auth)公开密码并祈求好运?


你在 ssh.connect 调用中使用的用户名非常奇怪。尽管如此,这是一个有趣的问题,即使提问方式不太好。 - Beefster
错误提示是网络错误。此外,我认为你在混淆两个协议,即sshhttps。我相信你希望人们只能使用有效密钥从私有仓库下载发布版本,对吗? - gabhijit
@gabhijit 正确。Oauth2和简单的身份验证需要其他人拥有您的登录名和密码,而SSH似乎根本不起作用。 - user9155788
@gabhijit 你有什么解决方案? - user9155788
1个回答

1

自从2009年,下载功能的描述如下:

如果一个仓库是私有的,下载文件的URL会稍微有些不同(它会包含一个24小时内有效的身份验证令牌),

你不能使用用户名/密码进行ssh连接,因为你在远程服务器上没有帐户(只有'git'有一个帐户)。

你可以在 "将构建产物部署到Bitbucket Downloads" 中看到一个下载过程。


这非常有用。我在使用Python请求时遇到了一些问题,但我设法使用Curl使其工作,所以至少它能够正常运行。 - user9155788

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接