Por padrão, quando você executa um comando na máquina remota usando ssh, um TTY não é alocado para a sessão remota. Isso permite transferir dados binários, etc., sem ter que lidar com as peculiaridades do TTY. Este é o ambiente fornecido para o comando executado em computerone
.
No entanto, quando você executa o ssh sem um comando remoto, ele aloca um TTY, porque é provável que você esteja executando uma sessão do shell. Isso é esperado pelo comando ssh [email protected]
, mas devido à explicação anterior, não há TTY disponível para esse comando.
Se você quiser um shell em computertwo
, use isso, o que forçará a alocação de TTY durante a execução remota:
ssh -t [email protected] 'ssh [email protected]'
Isso é normalmente apropriado quando você está executando um shell ou outro processo interativo no final da cadeia ssh. Se você fosse transferir dados, não seria apropriado nem necessário adicionar -t
, mas todo comando ssh conteria um comando de produção ou consumo de dados, como:
ssh [email protected] 'ssh [email protected] "cat /boot/vmlinuz"'