是否可以从 LocalCommand 中的 SSH 退出?

是否可以从 LocalCommand 中的 SSH 退出?

我知道这不是 LocalCommand 与 SSH 的预期用例,但如果我想运行命令,然后直接使用 LocalCommand 退出 SSH 会话,是否可能?

例如:

LocalCommand <some command>; exit

我尝试了上面的方法,但它似乎不起作用并且仍然生成外壳。

答案1

解决方案一:

ssh [email protected]  'cd foo/bar && rm *.foobar'

这仍然会在标准输出中打印输出,但执行命令后默认退出。

解决方案2:

针对您的用例的解决方案:根据您提到的评论,您将仅将 ssh 用于此 ssh 命令,

您可以编辑名为的文件,/etc/profile

在最后一行,只需输入要执行的所有命令,然后键入 exit

前任 :

ls / > /tmp/output
exit

这将运行命令并退出会话

你可以只使用, 来调用它ssh user@host,不需要其他任何东西。

PS:这只会运行命令并退出,记住,如果你想通过 ssh 进入系统进行任何操作,这不会让你,除非你删除最后一行的出口。

答案2

本地命令是 ssh 客户端进程的子进程。如果想关闭会话,可以kill客户端,即kill本地命令的父级。

LocalCommand kill $PPID

然后 SSH 将连接到远程主机,并且一旦执行身份验证,但在运行远程命令之前,客户端将被终止。

我不明白有什么意义。为什么不运行无操作远程命令(ssh ''ssh :),该命令将在登录后立即退出?

相关内容