繁体   English   中英

ssh嵌套登录到其他ssh

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM