使用 SSH 推送到 Bitbucket 是可行的,但我的服务器上没有私钥

使用 SSH 推送到 Bitbucket 是可行的,但我的服务器上没有私钥

当我的 Digital Ocean 服务器上没有私钥文件时,我怎样才能成功推送到 Bitbucket?

当我创建 Digital Ocean 服务器时,我为其提供了一个公钥。此密钥存储在文件中authorized_keys,它允许我从本地计算机通过 SSH 进入服务器。

然后,我设置了一个 Bitbucket 帐户,并将相同的公钥添加到该帐户。现在,我可以在不使用密码的情况下从 Bitbucket 服务器推送和提取数据。但是,我完全搞不懂为什么这样做有效。我的 Digital Ocean 服务器上没有私钥文件,那么我如何能够成功连接?它是否以某种方式使用了我本地计算机上的私钥文件,因为这是我用来连接 Digital Ocean 服务器的?

编辑 我刚刚读到有关 SSH 代理转发的信息。这是怎么回事?在~/.ssh/config我的本地计算机上的文件中,我有以下内容:

Host *
ServerAliveInterval 120

ForwardAgent yes
Host 128.host-that-is-not-bitbuck.com
ProxyCommand ssh also.not.bitbucket.net nc %h %p

这难道不意味着代理转发仅对列出的特定主机启用吗?

答案1

这是你的配置。

手册页上写道:

配置文件包含由“主机”规范分隔的部分

自从你的ForwardAgent yes台词该行Host 128.host-that-is-not-bitbuck.com,它属于前一个Host规范 - 并且由于该主机是*,因此该ForwardAgent选项适用于全部除非另有说明。

如果您希望代理转发仅适用于一个主机,则必须将其放在以该主机名开头的部分中。

相关内容