2013-08-07 74 views
4

我正在嘗試使用bitbucket爲Azure網站設置連續部署。向Windows Azure添加SSH密鑰

問題是我使用的Azure沒有權限的子模塊(我自己的),因爲它不會默認添加。

我想弄清楚如何添加一個SSH密鑰,以便Azure可以連接並獲取子模塊。

我已經採取的步驟。

  1. 創建一個新的公鑰/私鑰用的puttygen,增加了公共密鑰到我的帳戶到位桶的名稱天青

  2. 通過FTP到天青下,並增加公共和私有密鑰文件(.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--> 
    

我仍然得到相同的錯誤,沒有獲得子模塊的權限。所以我很難確定哪一步我做錯了,因爲我從來沒有這樣做過。

回答

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

+0

感謝,這是我得到它的足夠的信息 –

5

更好的後期則從來沒有,也可能是有用的人:

一個Web應用程序已經有一個SSH密鑰,獲得它: https://[web-site-name].scm.azurewebsites.net/api/sshkey?ensurePublicKey=1

你可以然後將此密鑰添加到您的git repo部署密鑰。

+3

@FrustratedWithFormsDesigner其實這是正確的,你只需要用你的Azure網站的名稱替換[網站名稱]。它確實有效。 –

+0

對於依賴多個專用節點模塊的項目,此解決方案看起來並不理想。 – chazzlabs