server2 に server1 からしかアクセスできない場合、ssh を 2 回行うにはどうすればよいですか?
fabfile.py:
from fabric.api import run
from fabric.api import env
env.hosts = ['host@server1.com']
env.use_ssh_config = True
def dothis():
run('ssh host@server2.com')
run('ls -al') # this should be done on host@server2.com
私が実行すると:
fab dothis、私は得る:
[host@server1.com] Executing task 'dothis'
[host@server1.com] run: ssh host@server2.com
[host@server1.com] out: Permission denied (publickey).
[host@server1.com] out:
[host@server1.com] out:
Fatal error: run() received nonzero return code 255 while executing!
Requested: ssh host@server2.com
Executed: /bin/bash -l -c "ssh host@server2.com"
Aborting.
Disconnecting from host@server2.com... done.
server1 に別のファブリック ファイルを保持せずに、server2 でファブリックに env.user_ssh_config = True を指示するにはどうすればよいですか?
私が通常 server2 にアクセスする方法は次のとおりです。
ssh host@server1.com ssh host@server2.com