假设机器 A 有一个ssh隧道通过 B 来加工 C ,例如
ssh -N -L 12345:C:22 userB@B
这意味着我们可以从 C 上的 A 执行 ls 命令,如下所示:
ssh -p 12345 userC@localhost 'ls'
到目前为止,所有这些都有效并且已经过测试。
问题是,是否有另一台机器 Z 可以访问 A ,例如从 Z 我们可以运行:
ssh userA@A 'ls'
它有效。但是这不起作用:
ssh userA@A "ssh -p 12345 userC@localhost 'ls'"
错误消息是权限被拒绝(公钥,密码)
有什么想法吗?我不使用密码,而是使用私钥/公钥进行身份验证。谜一点是,如果我没有嵌套命令全部工作,即我可以在 Z 的 A 上执行命令,我可以在 C <上执行命令/ strong>来自 A ,但我无法在 C 上执行相同的命令 Z 。任何帮助表示赞赏。
答案 0 :(得分:-1)
嵌套隧道不是很漂亮....考虑一个运行ssh的强化堡垒主机...连接到它,启用tmux和ssh到你的远程内部主机。