有没有一种方法可以构造单个命令以通过SSH登录到远程服务器并在远程登录Shell上运行程序?
在OpenSSH手册中,其内容为:“如果指定了命令,那么它将在远程主机而不是登录shell上执行。” 因此,例如,ssh user@server mail
将登录到远程服务器,显示邮箱状态,然后将您返回到本地外壳程序。显示邮件状态后,是否可以保留在远程外壳程序上?
此外,ssh user@server [command]
如果命令是程序,例如vim或mutt ,则似乎不起作用。有没有一种方法可以登录到远程Shell并在运行过程中停留在远程Shell中并在退出程序之后运行程序,仅最终通过特定logout
命令退出(就像在普通SSH会话中一样)?
我最终希望能够将这样的命令作为别名放入本地.bashrc中,以便可以在需要时快速运行。一个示例是通过SSH登录到远程服务器,然后在远程服务器上打开mutt以读取或发送电子邮件。
嗯,这似乎确实可以运行该命令,然后获得远程外壳,但这是通过打开一个SSH连接并运行该命令并关闭SSH连接,然后打开另一个SSH连接来实现的。有什么方法可以通过单个首次连接完成所有这些操作?同样,这仍然不能使命令运行程序。
—
user981178 2014年
ssh remote@server mail ; ssh remote@server
吗?另外,任何需要终端的远程执行命令都无法通过ssh生存/工作,对吗?