我为 ssh 创建了一个公钥,并使用 BitBucket 注册了该密钥。然后我尝试推动:
$ hg push ssh://[email protected]/johncharrell/[project name]
pushing to ssh://[email protected]/johncharrell/[project name
running ssh [email protected] "hg -R johncharrell/[project name serve --stdio"
remote: Warning: Permanently added the RSA host key for IP address '[server IP]' to the list of known hosts.
remote: Permission denied (publickey).
abort: no suitable response from remote hg!
我需要做什么才能让我的公钥(或为此目的创建的其他密钥)允许我从 shell 或 crontab 执行 hg 推送?在 BitBucket 中,我拥有该项目的读写权限,但据我所知,没有任何管理权限。
答案1
要允许推送,您应该将公钥上传到 bitbucket,您可以通过以下方式执行此操作:
- 单击右上角的登录图标并选择 bitbucket 设置
- 在左侧的“安全”部分中选择“SSH 密钥”
- 选择“添加密钥”并上传您的公钥
之后,您应该能够使用安装了匹配私钥的任何帐户进行上传,甚至可以通过 cron 作业进行上传。
我还建议您首先在 bitbucket 上创建存储库,然后使用BitBucket 提供ssh
的参数hg
通过 Mercurial 进行拉取。之后你就可以hg push
不用任何参数了。
如果您已有存储库,则必须在新目录中执行此操作,并将初始更改复制到从 BitBucket 新鲜签出的存储库上。