【问题标题】:How can I list the SSH connection sequence on a remote computer?如何列出远程计算机上的 SSH 连接序列?
【发布时间】:2014-11-17 00:51:51
【问题描述】:

假设我正在处理LocalA(用户名userA)。我使用ssh 隧道到RemoteB(用户名userB),然后到RemoteC(用户名userC),最后到RemoteDestinationD(用户名userD)。

它看起来像下面这样:

userA@LocalA$ ssh userB@RemoteB
userB@RemoteB$ ssh userC@RemoteC
userC@RemoteC$ ssh userD@RemoteDestinationD
userD@RemoteDestinationD$ 

假设我忘记了从LocalA 连接到RemoteDestinationD 的连接系列。它可能是一跳(例如userA@LocalA$ ssh userD@RemoteDestinationD)或三跳(如我上面的示例)。我如何以编程方式确定我的一系列跳跃是什么? (“滚动浏览你的历史记录,笨蛋!”不算数......)

我想要一个输出如下内容的 BASH 脚本:

userA@LocalA$ --> userB@RemoteB
userB@RemoteB$ --> userC@RemoteC
userC@RemoteC$ --> userD@RemoteDestinationD

有什么想法吗?

提前致谢!

【问题讨论】:

    标签: bash ssh tunnel ssh-tunnel tunneling


    【解决方案1】:

    我怀疑没有好的方法可以做到这一点。如果您愿意,您可以做很多真正的小技巧,例如打开 X11 端口转发和使用不同的端口进行计数。

    或者,更令人讨厌的是:

    sshcount=0
    ssh userA@RemoteA "echo sshcount=$(($sshcount+1)) > .bashrc; bash"
    

    然后从那里做一些类似的事情来到达 B,所以 sshcount 不断增加。

    显然这应该通过覆盖.sshcountrc 文件或其他东西来完成,并从.bashrc 获取。然后,如果您想支持执行此操作的并行版本,您可能需要使文件名依赖于 $SSH_TTY 的某些修改。

    整个事情真的是一个黑客,所以也许你不应该无论如何,你应该以另一种方式解决问题。或者一开始就不需要计数。

    【讨论】:

      猜你喜欢
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 2016-09-19
      相关资源
      最近更新 更多