Fabric/python。 运行 使用本地 sshkey 的远程命令
Fabric/python. Run remote command with local sshkey
我正在尝试自动化部署过程。
我的项目在 mercurial repo 中。
我有一台本地机器 LOCAL
,用户 LOCAL_USER
和 ssh-key (~/.ssh/KEY_LOCAL)。我还有远程服务器 REMOTE
,用户 REMOTE_USER
和 ssh-key ('~/.ssh/KEY_REMOTE').
env.hosts = ['REMOTE']
env.user = 'REMOTE_USER'
def pull():
with cd(repo_path):
run('hg pull -u')
我可以连接到 REMOTE
服务器,但是 hg 试图使用 REMOTE_USER
。
是否可以在 REMOTE SERVER
和 LOCAL_USER + SSH_KEY_LOCAL
上使用 hg?
REMOTE 服务器上的 Mercurial 无法访问 LOCAL 上的 ssh 密钥。虽然可能有一些方法可以即时复制它,或者做一些奇怪的安装,但我不建议这样做。
您应该做的是在 REMOTE 服务器上创建一个不同的私钥,然后将它的 public 密钥复制到您的 Mercurial 服务器,供用户 LOCAL_USER 使用。这样你最终会得到一个用户在 Mercurial 服务器上有两个不同的 public 密钥,每个私钥在不同的盒子上。
如果您信任 REMOTE 服务器 %100,您可以将当前的私钥复制过来,但这通常不是一个好主意。
我正在尝试自动化部署过程。
我的项目在 mercurial repo 中。
我有一台本地机器 LOCAL
,用户 LOCAL_USER
和 ssh-key (~/.ssh/KEY_LOCAL)。我还有远程服务器 REMOTE
,用户 REMOTE_USER
和 ssh-key ('~/.ssh/KEY_REMOTE').
env.hosts = ['REMOTE']
env.user = 'REMOTE_USER'
def pull():
with cd(repo_path):
run('hg pull -u')
我可以连接到 REMOTE
服务器,但是 hg 试图使用 REMOTE_USER
。
是否可以在 REMOTE SERVER
和 LOCAL_USER + SSH_KEY_LOCAL
上使用 hg?
REMOTE 服务器上的 Mercurial 无法访问 LOCAL 上的 ssh 密钥。虽然可能有一些方法可以即时复制它,或者做一些奇怪的安装,但我不建议这样做。
您应该做的是在 REMOTE 服务器上创建一个不同的私钥,然后将它的 public 密钥复制到您的 Mercurial 服务器,供用户 LOCAL_USER 使用。这样你最终会得到一个用户在 Mercurial 服务器上有两个不同的 public 密钥,每个私钥在不同的盒子上。
如果您信任 REMOTE 服务器 %100,您可以将当前的私钥复制过来,但这通常不是一个好主意。