#1 How to run command after login


I have a server that cannot be connected to from an external IP. It only allows SSH connections from within the local network.

To connect to it, I normally SSH to a server that does have external SSH support. Then from it, I SSH to the internal server.

I'd like to configure a quick way to SSH to the internal server. To test this out, I've set up ssh keys so that I can connect between the servers without a password. So using SSHMenu, I created a host with this in the "hostname" field:

me@external.server "ssh server.behind.firewall"

However, this opens up a terminal with the following message:

Pseudo-terminal will not be allocated because stdin is not a terminal.

If I change the hostname to the following:

me@external.server "ssh -t -t server.behind.firewall"

Then, I can get in and get a command prompt. So it works! However, I get this error message:

tcgetattr: Invalid argument

It isn't a big deal, but if I can get rid of it, I'd like to. Is this the right way to do what I'm trying, or is there a better approach?



  • Grant McLean

    Grant McLean - 2010-02-20

    I think you just need to add the -t to the initial SSH connection to external.server:

    -t me@external.server "ssh server.behind.firewall"

    But, you should take a look at this article which describes how to set up your config so that the intermediate connection is transparent:


    This is standard SSH config rather than SSHMenu-specific.


  • Grant McLean

    Grant McLean - 2010-02-20
    • status: open --> closed

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks