Is there a way to structure a single command to login via SSH to a remote server and run a program on the remote login shell?
In the OpenSSH manual, it reads "If command is specified, it is executed on the remote host instead of a login shell." So, for example, ssh user@server mail
will login to the remote server, display the mailbox status, and then return you to the local shell. Is there a way to stay on the remote shell after displaying the mail status?
Furthermore, ssh user@server [command]
does not seem to work if the command is a program, for example vim or mutt. Is there a way to login to the remote shell and run a program while staying in the remote shell during the program and after exiting the program, only finally exiting upon a specific logout
command (just like in a normal SSH session)?
I would eventually like to be able to put such a command as an alias in the local .bashrc, so that it could be run quickly when desired. An example would be to login via SSH to a remote server and open mutt on the remote server to read or send email.
ssh remote@server mail ; ssh remote@server
? Also any remotely executed command that needs a terminal will not survive/work over ssh right?