如何在同一别名内的多跳 SSH 连接后为命令设置别名

如何在同一别名内的多跳 SSH 连接后为命令设置别名

我尝试为多跳 SSHing 指定别名,并在登录远程计算机后向此别名添加一些附加命令。我已经有工作别名来 ssh-ing 到远程机器

alias comandname='ssh -t -t -X '\''login@machine1'\'' exec "ssh -X '\''login@machine2'\''"'

但我不知道如何让命令在机器上运行2。我还尝试将一些内容放入 machine2 上的 .bashrc 中(它不起作用),但我想知道更通用的解决方案,以便在不同的别名下使用多个不同的命令。简单的示例命令将从此别名 cd 到计算机 2 上的特定文件夹。

答案1

我在将配置节添加到 $HOME/.ssh/config 方面取得了更大的成功

例如。

Host machine2-via-machine1
    ProxyCommand ssh -q machine1 -W machine2:22

那么你应该能够

ssh machine2-via-machine1

而不是 shell 别名。

由于 ssh 不理解多跳安排;您可能会处理命令行上的其他参数,并且主机密钥验证似乎也更好。

相关内容