如何列出远程计算机上的SSH连接顺序?

问题描述:

假设我在LocalA(用户名userA)上工作。我用ssh隧道到RemoteB(用户名userB),然后到RemoteC(用户名userC),然后最后到RemoteDestinationD(用户名userD)。如何列出远程计算机上的SSH连接顺序?

它看起来像下面这样:

[email protected]$ ssh [email protected] 
[email protected]$ ssh [email protected] 
[email protected]$ ssh [email protected] 
[email protected]$ 

想我忘记是哪个系列我用来连接从LocalARemoteDestinationD连接。它可能是一次跳跃(例如[email protected]$ ssh [email protected])或三次跳跃(如上例所示)。我怎样才能以编程方式确定我的系列跳转是什么? (“通过你的历史滚动,假!”不计....)

我想一个bash脚本,将输出类似以下内容:

[email protected]$ --> [email protected] 
[email protected]$ --> [email protected] 
[email protected]$ --> [email protected] 

任何想法?

在此先感谢!

我怀疑没有好办法做到这一点。如果你愿意的话,你可以做一堆真正的黑客攻击,比如打开X11端口转发和使用不同的端口进行计数。

或者,更令人讨厌:

sshcount=0 
ssh [email protected] "echo sshcount=$(($sshcount+1)) > .bashrc; bash" 

从那里做类似到B的东西,所以sshcount不断递增。

显然这应该通过覆盖.sshcountrc文件或其他东西,并从.bashrc来源。然后,如果您想支持并行版本,则可能需要使文件名取决于$SSH_TTY

而整件事真的是黑客,所以也许你不应该反正你应该以另一种方式解决问题。或者首先取消计数的必要性。