我尝试为多跳 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 不理解多跳安排;您可能会处理命令行上的其他参数,并且主机密钥验证似乎也更好。