Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从Fabric run命令中启动SSH连接_Python_Ssh_Fabric - Fatal编程技术网

Python 如何从Fabric run命令中启动SSH连接

Python 如何从Fabric run命令中启动SSH连接,python,ssh,fabric,Python,Ssh,Fabric,我有一个远程服务器,比如说1.2.3.4,它运行一个docker容器,该容器为docker主机上映射到端口49222的SSHD提供服务,因此要手动连接到它,我将执行以下操作: workstation$ssh 1.2.3.4-t“sshroot@localhost-p 49222“并到达docker容器SSH命令提示符root@f383b4f71eeb:~# 如果我运行一个fabric命令触发run('sshroot@localhost-p 49222')然后我被要求输入根密码。但是,它不接受我知

我有一个远程服务器,比如说
1.2.3.4
,它运行一个docker容器,该容器为docker主机上映射到端口49222的SSHD提供服务,因此要手动连接到它,我将执行以下操作:

workstation$ssh 1.2.3.4-t“sshroot@localhost-p 49222“
并到达docker容器SSH命令提示符
root@f383b4f71eeb:~#


如果我运行一个fabric命令触发
run('sshroot@localhost-p 49222')
然后我被要求输入根密码。但是,它不接受我知道是正确的根密码,因此我怀疑密码提示来自主机,而不是docker容器。

我在我的
fabfile.py
中定义了以下任务:

@task
def ssh():
    env.forward_agent = True
    run('ssh root@localhost -p 49222')
    with settings(output_prefix=False, forward_agent=True):
        run('ssh root@localhost -p 49222')
在远程服务器
sshd\u config
中,我需要设置:

AllowAgentForwarding yes
此外,
output\u prefix=False
有助于删除结构添加到每行开头的
[hostname]run:
前缀,这对于远程shell的每一行来说都相当烦人