是否有一种方法可以构造单个命令,通过SSH登录到远程服务器并在远程登录shell上运行程序?
在OpenSSH手册中,它的内容是“如果指定了命令,它将在远程主机上执行,而不是在登录shell上执行。”因此,例如,ssh user@server mail将登录到远程服务器,显示邮箱状态,然后返回到本地shell。在显示邮件状态后,是否有一种方法可以停留在远程shell上?
此外,如果命令是程序(例如vim或mutt ),ssh user@server [command]似乎无法工作。是否有一种方法可以登录到远程shell并运行一个程序,同时在程序期间和退出程序之后,只在特定的logout命令下退出(就像在正常的SSH会话中一样)?
我最终希望能够将这样的命令作为别名放在本地.bashrc中,以便在需要时可以快速运行。例如,通过SSH登录到远程服务器,并在远程服务器上打开mutt以读取或发送电子邮件。
发布于 2014-03-16 03:14:27
您是否尝试过ssh -t user@server "mail && bash" (或者用您喜欢的任何shell替换bash )?
-t是必需的,以便为bash创建一个伪tty,以便用作一个交互式的shell。
https://unix.stackexchange.com/questions/119894
复制相似问题