2016-04-15 55 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

谢谢,这是一个好主意。 –

相关问题