将SSH密钥添加到Windows Azure

时间:2013-08-07 00:41:31

标签: azure ssh bitbucket continuous-deployment

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

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

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

我采取的步骤。

  1. 使用PuttyGen创建了一个新的公钥/私钥,在名称Azure

  2. 下添加了我的bitbucket帐户的公钥
  3. FTP到Azure,并将公钥和私钥文件(.ppk)添加到.ssh目录(是的,我不知道我想添加哪一个)。它们被命名为azurePrivateKey.ppk和azurePublicKey。

  4. 更新了我的配置文件,看起来像这样

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

    (如果没错,不知道)

  5. 将我的已知主机更新为

    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-->
    
  6. 我仍然得到相同的错误,没有得到子模块的权限。所以我无法弄清楚我做错了哪一步,因为我以前从未这样做过。

3 个答案:

答案 0 :(得分:6)

迟到,从来没有,对其他人来说可能是有用的:

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

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

答案 1 :(得分:3)

我从来没有在Azure中设置它,但是处理SSH密钥的一般经验法则是:

  • $HOME/.ssh/中的私钥必须具有文件模式600(仅适用于所有者的RW)
  • 您需要此文件夹中的公钥和私钥,通常名为id_rsaid_rsa.pub,但您可以将文件名更改为您喜欢的内容
  • 您必须将puttykeygen生成的私钥转换为OpenSSH2兼容格式,请参阅How to convert SSH keypairs generated using PuttyGen
  • known_hosts存储您已连接的服务器的公钥。这对确保您真正再次连接到同一服务器很有用。 more detailed information on this topic

HTH

答案 2 :(得分:0)

因此,如果您像我一样在github帐户上部署了应用服务,则在其上拥有多个私有子模块,则可以通过移动部署键为服务提供对所有模块的访问权限。

此后,该服务可以使用密钥访问所有帐户上的私人仓库。