O primeiro ssh está interpretando isso como uma lista de dois comandos separados que devem ser executados. Sua sessão ssh em server
está executando pela primeira vez ssh -tt -C -X user2@host
, que sai imediatamente e, em seguida, executa cd ~/my/work/directory ; bash
. O que você precisa fazer é citar todo o conteúdo desde o início do segundo ssh até o final do comando, para que seja tratado como uma única coisa.
ssh -tt -C -X user1@server 'ssh -tt -C -X user2@host "cd ~/my/work/directory ; bash"'
Dessa forma, quando você executar ssh em server
, executará ssh -tt -C -X user2@host "cd ~/my/work/directory ; bash"
como um comando inteiro, em vez de dividi-lo em partes.