Open new Terminal in same SSH session

sshterminal

Is there a way to open a new Terminal in an existing SSH session? I am logged into a remote system and have a special session that I have to request and wait to receive. I know I can then use the "xterm &" command to open multiple xterm windows within that session, but xterm behaves differently from OSX's built-in Terminal. Is there a way to open multiple Terminal windows within the existing SSH session?

Best Answer

Yes, you can reuse exiting ssh connection and open ssh in whatever terminal you like. See this answer to a StackOverflow question for details:

If you open the first connection with -M:

ssh -M $REMOTEHOST

subsequent connections to $REMOTEHOST will "piggyback" on the connection established by the master ssh. Most noticeably, further authentication is not required. See man ssh_config under "ControlMaster" for more details. Use -S to specify the path to the shared socket; I'm not sure what the default is, because I configure connection sharing using the configuration file instead.

In my .ssh/config file, I have the following lines:

host *
  ControlMaster auto
  ControlPath ~/.ssh/ssh_mux_%h_%p_%r

This way, I don't have to remember to use -M or -S; ssh figures out if a sharable connection already exists for the host/port/username combination and uses that if possible.