5

我正在尝试使用 bitbucket 为 Azure 网站设置持续部署。

问题是我正在使用 Azure 无权使用的子模块(我拥有),因为默认情况下它不会添加它。

我试图弄清楚如何添加 SSH 密钥,以便 Azure 可以连接并获取子模块。

我已经采取的步骤。

  1. 使用 PuttyGen 创建了一个新的公钥/私钥,将公钥添加到我的 bitbucket 帐户中,名为 Azure

  2. 通过 FTP 访问 Azure,并将公钥和私钥文件 (.ppk) 添加到 .ssh 目录(是的,我不知道应该添加哪个)。它们被命名为 azurePrivateKey.ppk 和 azurePublicKey。

  3. 将我的配置文件更新为如下所示

     HOST *
    StrictHostKeyChecking no
    
    Host bitbucket.org
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/azurePrivateKey.ppk
    

    (不知道这是否正确)

  4. 将我的已知主机更新为如下所示

    bitbucket.org,131.103.20.168, <!--some key here...it was here when i opened the file, assuming it's the public key for the repo i tried to add-->
    bitbucket.org,131.103.20.168, <!--the new public key i tried to add-->
    

而且我仍然遇到同样的错误,没有获得子模块的权限。所以我很难弄清楚我做错了哪一步,因为我以前从未这样做过。

4

3 回答 3

7

迟到总比不好,它可能对其他人有用:

Web 应用程序已经有一个 ssh 密钥,获取它: https://[web-site-name].scm.azurewebsites.net/api/sshkey?ensurePublicKey=1

然后,您可以将此密钥添加到您的 git repo deploy 密钥中。

于 2015-08-28T19:44:38.013 回答
2

我从未在 Azure 中设置过,但有一些处理 SSH 密钥的一般经验法则:

  • 中的私钥$HOME/.ssh/必须有文件模式 600(RW 仅供所有者使用)
  • 您需要此文件夹中的公钥和私钥,通常命名id_rsaid_rsa.pub但您可以将文件名更改为您喜欢的任何名称
  • 您必须将 puttykeygen 生成的私钥转换为 OpenSSH2 兼容格式,请参阅如何转换使用 PuttyGen 生成的 SSH 密钥对
  • known_hosts存储您已连接到的服务器的公钥。这对于确保您真的再次连接到同一台服务器很有用。有关此主题的更多详细信息

高温高压

于 2013-08-07T20:44:37.643 回答
0

因此,如果您像我一样在部署应用服务的同一个 github 帐户上有多个私有子模块,您可以通过移动部署密钥让您的服务访问所有模块。

在此之后,该服务可以使用该密钥访问所有帐户的私有存储库。

于 2020-05-29T12:26:42.830 回答