Fabric2 在 AWS EC2 实例上嵌套 SSH 到本地主机端口 2022期间抛出 `paramiko.ssh_exception.AuthenticationException`

问题描述

这是我想要实现的目标:

  1. 通过 SSH 连接到 EC2 实例 Node1
    • Public IP 可用于 Node1。
    • 我正在使用 .pem 文件通过 Node1 创建 Connection
  2. 在端口 2022 上从 Node1 ssh 进入本地主机:ssh admin@localhost -p 2022
    • 现在在本地主机中执行一个命令。

这是我正在使用的代码片段:

from fabric2 import Connection

jump_host_ip = "A.B.C.D"
user = "root_user"
pem_key = "example.pem"

with Connection(jump_host_ip,user=user,connect_kwargs={"key_filename": pem_key}) as jump_host:
    with Connection('localhost',user='dummy_user',port=2022,connect_kwargs={'password': 'password'},gateway=jump_host) as local_host:
        local_host.run('ls -la')

代码托管在另一台 EC2 服务器上。当从 EC2 服务器执行时,它会抛出以下异常:

paramiko.ssh_exception.AuthenticationException: Authentication Failed.

但是当从本地机器 code works 执行时这个 (not from EC2 server)

EC2 是否有可能通过 gateway 阻止与本地主机的连接? 如果是,应该如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)