我正在尝试使用bitbucket为Azure网站设置持续部署。
问题是我使用的是Azure没有权限的子模块(我拥有),因为默认情况下它不会添加。
我正在尝试弄清楚如何添加SSH密钥,以便Azure可以连接并获取子模块。
我采取的步骤。
使用PuttyGen创建了一个新的公钥/私钥,在名称Azure
FTP到Azure,并将公钥和私钥文件(.ppk)添加到.ssh目录(是的,我不知道我想添加哪一个)。它们被命名为azurePrivateKey.ppk和azurePublicKey。
更新了我的配置文件,看起来像这样
HOST *
StrictHostKeyChecking no
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/azurePrivateKey.ppk
(如果没错,不知道)
将我的已知主机更新为
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-->
我仍然得到相同的错误,没有得到子模块的权限。所以我无法弄清楚我做错了哪一步,因为我以前从未这样做过。
答案 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_rsa
和id_rsa.pub
,但您可以将文件名更改为您喜欢的内容known_hosts
存储您已连接的服务器的公钥。这对确保您真正再次连接到同一服务器很有用。 more detailed information on this topic HTH
答案 2 :(得分:0)
因此,如果您像我一样在github帐户上部署了应用服务,则在其上拥有多个私有子模块,则可以通过移动部署键为服务提供对所有模块的访问权限。
此后,该服务可以使用密钥访问所有帐户上的私人仓库。