I try to alias to multi-hop SSHing and to put some additional commands to this alias after login to the remote machine. I have already working alias to ssh-ing to remote machine

alias comandname='ssh -t -t -X '\''login@machine1'\'' exec "ssh -X '\''login@machine2'\''"'

but I don't how to put command to run on the machine2. I also tried to put something into .bashrc on machine2 (it didn't work) but I would like to know more general solution to have several different command under different aliases. The simple example command would be cd to specific folder on machine 2 from this alias.

1 Answer 1


I've had more success with adding configuration stanza's to $HOME/.ssh/config


Host machine2-via-machine1
    ProxyCommand ssh -q machine1 -W machine2:22

then you should be able to

ssh machine2-via-machine1

instead of an shell alias.

Since ssh no understands the multihop arrangement ; additional arguments on the command line are processed you might and host key validation seems to be better too.

  • 1
    Use -W switch to ssh instead of nc.
    – Jakuje
    Commented Jul 13, 2017 at 10:10
  • @Jakuje That is better. I've edited my answer to include your suggestion thanks.
    – rgammans
    Commented Aug 7, 2017 at 22:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .