A maneira mais fácil e mais limpa de ssh em um servidor, gerar um shell interativo e executar comandos dentro desse shell é criar um arquivo rc customizado para o bash.
No seu arquivo bashrc personalizado no servidor, primeiro forneça o arquivo padrão e adicione seus comandos personalizados, por exemplo,
~ / .bashrc_custom:
. ~/.bashrc
cd dir/
workon virtualenvproject
Você pode então iniciar sua sessão SSH assim:
$ ssh -t server "/bin/bash --rcfile ~/.bashrc_custom -i"
A opção -t força uma alocação pseudo-tty, de modo que coisas como o trabalho de conclusão de tabulação.
A opção --rcfile especifica qual rcfile será carregado em vez do padrão. Importante: você deve colocar "argumentos duplos" na linha de comando antes das opções de caractere único para ser reconhecido.
O argumento -i para / bin / bash está lá para invocar um shell interativo.