如何解决Fabric2 在 AWS EC2 实例上嵌套 SSH 到本地主机端口 2022期间抛出 `paramiko.ssh_exception.AuthenticationException`
这是我想要实现的目标:
- 通过 SSH 连接到 EC2 实例
Node1
。-
Public IP
可用于 Node1。 - 我正在使用
.pem
文件通过 Node1 创建Connection
。
-
- 在端口 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 举报,一经查实,本站将立刻删除。