如何在 .ssh/config 中模拟 ssh 命令

How to emulate an ssh command in .ssh/config

我目前正在尝试直接使用 ssh 连接到 HPC。这涉及 运行 登录时请求资源的命令。对于我正在使用的集群,您可以在连接到登录节点后请求交互式伪 shell

ssh -tt blow-login "bsub -Ip zsh"

-tt 很重要,否则身份验证似乎会失败,通常纸牌屋会倒塌。

现在,当我尝试将其压缩为一组配置设置时:

Host blow-node
    Hostname blow-login
    ProxyCommand ssh -t blow-login "bsub -Ip zsh"
    RequestTTY force

Bad packet length 218783296.

失败了。这很有用的原因是 VScode 允许用户通过 ssh 连接到远程机器,但他们不允许任何脚本在安装其监听服务器之前 运行。

非常欢迎任何提示

谢谢

ProxyCommand用于指定建立SSH连接的代理。您目前正在告诉您的 SSH 客户端与 zsh 对话,就好像后者是 SSH 服务器一样,因此出现了错误的数据包长度错误。您最有可能寻找的是 RemoteCommand 选项:

RemoteCommand

Specifies a command to execute on the remote machine after successfully connecting to the server. The command string extends to the end of the line, and is executed with the user's shell. Arguments to RemoteCommand accept the tokens described in the TOKENS section.