[英]ssh nested login to other ssh
我有两台名为 serverA 和 serverB 的服务器,其中 serverB 只能通过 serverA 访问。
所以,首先我使用命令登录到 serverA
ssh uname@serverA
登录到 serverA 后,我再次点击相同的命令登录到 serverB,即
ssh uname@serverB
以上是我登录到 serverA 后调用的 ssh 命令。 在 serverB 中,我会触发其他命令来执行其他操作。
我想编写一个 shell 脚本,它应该为我执行此操作,但我不确定如何以嵌套形式调用 ssh?
有没有可能做同样的事情?
大多数最新版本的 ssh 都支持jump host
。 所以你可以像
ssh -J uname@serverA uname@serverB
为简化起见,您还可以将这些信息添加到~/.ssh/config
文件中,如下所示
Host serverA
User uname
Host serverB
User uname
ProxyJump serverA
现在ssh serverB
是设置嵌套 ssh 会话所需的全部内容
ssh
可以接收command
作为参数,然后
ssh -t uname@serverA ssh -t uname@serverB
应该管用
您可以将此信息放在.ssh/config
文件中,以通过 serverA 代理您对 serverB 的所有请求
Host serverA
User uname
Hostname <ip/name of serverA>
Host serverB
User uname
Hostname <ip/name of serverB>
ProxyCommand ssh -q -W %h:%p serverA
现在你可以ssh serverB ls
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.