我有一个嵌套的 SSH 身份验证,我想通过它使用 SCP 传输文件。要登录,我必须遵循以下过程:
$ ssh external_user@external_host
// It prompts me for my external_password [a]
// It directly prompts me for my internal_user [b]
// Then it prompts a final time for my internal_password [c]
如何通过这样的 SSH 登录过程来 SCP 一个文件? (注意,我从来不需要输入地址internal_host
,因为一旦我external_password
在步骤中输入了我的地址[a]
,我立即被告知它正在尝试让我连接到internal_host
并且我需要输入我的地址internal_username
(当我简单地尝试时,scp external_user@external_host:myfile myfile
它告诉我我正在连接到无效的目标)
我也尝试过使用 SFTP,但是这样做sftp external_user@external_host
要求提供我的external_password
,然后我会被一条消息踢出,invalid target
而不是被要求提供我的internal_user
.
另外,正如我尝试过的评论之一所建议的scp -o ProxyJump=external_user@external_host test.txt internal_user@internal_host:test.txt
,但在输入我的内容后它也踢了我external_password
:
Received disconnect from UNKNOWN port 65535:11: Disconnection
Disconnected from UNKNOWN port 65535
ssh_exchange_identification: Connection closed by remote host
我找到了一个可能的解决方案,但在我的情况下不起作用,因为它需要对lrzsz
最终主机的依赖性(),但它可能适用于类似情况下的其他一些用户:https://github.com/mtatton/zssh