2016-04-15 57 views
0

我正在嘗試自動執行部署過程。 我的項目是在mercurial回購。 我有一臺本地機器LOCAL與用戶LOCAL_USER和ssh-key(〜/ .ssh/KEY_LOCAL)。我也有遠程服務器REMOTE與用戶REMOTE_USER和ssh-key('〜/ .ssh/KEY_REMOTE')。Fabric/python。使用本地sshkey運行遠程命令

env.hosts = ['REMOTE'] 
env.user = 'REMOTE_USER' 

def pull(): 
    with cd(repo_path): 
     run('hg pull -u') 

我可以連接到REMOTE服務器,但汞欲以REMOTE_USER

有沒有可能在REMOTE SERVER上使用hg LOCAL_USER + SSH_KEY_LOCAL

回答

1

REMOTE服務器上的Mercurial無權訪問LOCAL上的ssh密鑰。雖然可能有一些方法可以在飛行中複製它,或者做一些奇怪的安裝,但我會建議不要這樣做。

你應該做的是在遠程服務器上創建一個不同的私鑰,然後將它的公鑰複製到用戶LOCAL_USER的Mercurial服務器上。通過這種方式,您最終將擁有一個擁有兩個不同公鑰的用戶,並且每個私鑰都在另一個盒子上。

如果您信任REMOTE服務器%100,您可以將當前的私鑰複製過來,但這通常不是一個好主意。

+0

謝謝,這是一個好主意。 –

相關問題