我有一个跳转/代理主机(“jump”),用于访问我的最终目标主机(“final”)。我已正确配置它以允许我进入。但是,它要求我输入两次密码(一次用于“jump”,一次用于“final”。)
〜/.ssh/配置...
Host jump
Hostname jump.domain.com
User username
IdentityFile ~/.ssh/id_rsa
Host final
Hostname final.otherdomain.com
User username
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh -q jump -W %h:%p
有没有一种安全的方法可以将第一次输入的密码传递到第二次输入?除了不方便之外,我还担心每次需要访问“final”时都要输入几次复杂的密码,否则会把自己锁在外面。
我没有“跳转”或“最终”的管理员权限,但可以向我们的支持技术人员请求合理的更改。
我认为这并不重要,但这是通过 WSL(适用于 Linux 的 Windows 子系统)在 Bash 中实现的。
附言:我在 StackExchange 网络和 Google 上找到了几个涉及在安全意味着通过脚本。我希望它只是我可以添加到我的配置中以启用它的东西。
我还发现这个帖子来自 github 的似乎涵盖了我想要实现的(可能)类似的效果......
“这有点像要求朋友输入密码以便你可以使用他们的电脑。”
使用尖端在那里,我检查了“跳转”和“最终”的 ForwardAgent 设置,并且都已禁用......
cat /etc/ssh/ssh_config | grep Forward
ForwardAgent no
这实际上是指我想要实现的目标吗?关闭此功能是否存在安全隐患?
答案1
似乎没有办法使用密码来做到这一点。
如果您改用公钥身份验证,并将私钥加载到客户端上运行的 ssh 代理中,则跳转主机和最终主机的登录都将使用该密钥并让您登录。当您将私钥加载到 ssh 代理中时,您只需输入一次密码。