ssh:登录前执行命令

Mar*_*ter 6 command-line ssh

我正在寻找一种在通过 SSH 登录远程机器时执行本地命令的方法。(我想在命令完成后保持登录状态。)换句话说,我想在我的命令行上指定命令。它应该在远程机器上执行,然后我应该得到shell,就像我正常登录一样。

例如,假设我想/home在获得 shell 之前安装在远程机器上。我会做这样的事情(效果不佳)

ssh mymachine.example.com 'mount /home ; /bin/bash'
Run Code Online (Sandbox Code Playgroud)

实际上,我正在寻找一种如何将以下两个命令压缩为一个的方法:

ssh mymachine.example.com 'mount /home'
ssh mymachine.example.com
Run Code Online (Sandbox Code Playgroud)

有人知道该怎么做吗?

重要提示:我不想在远程机器上存储要执行的命令。它必须存储在本地(也许它包含我解密加密家庭的密码。)

pet*_*rph 10

您可能正在寻找强制伪终端分配的-t选项ssh- 如果没有,您只是将终端直接连接到远程运行程序的标准输入/输出/错误。因此,您的命令应如下所示:

ssh -t mymachine.example.com 'mount /home ; /bin/bash'
Run Code Online (Sandbox Code Playgroud)