微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。