Primeiro, como os outros entrevistados, recomendo apenas usar chaves ssh. Mas vou assumir que a pessoa que controla o servidor simplesmente não permitirá que você use a autenticação de chave ssh e você deve usar a autenticação de senha.
Você pode usar o ControlMaster e o ControlPath.
Seja A o servidor ao qual você não terá acesso (pense em servidor de integração contínua como o Bamboo) e C seja o host remoto que executa o Ubuntu.
Agora vamos B ser algum computador que você controle. Se você não puder fornecer um computador B adequado, esta resposta não funcionará.
- Crie um par de chaves e adicione a parte pública ao arquivo authorized_keys de B. Dê A a chave privada. Agora você pode entrar em B de A sem uma senha.
- Em B manualmente
ssh -M -S /tmp/controlpath C e insira sua senha no prompt. Depois disso, você poderá fazer o login no C de A sem uma senha ssh -S /tmp/controlpath C .
No script em A você pode escrever ssh B ssh C dostuff .
Toda vez que você reiniciar o B, você terá que restabelecer a conexão ssh -M -S /tmp/controlpath C .