man ssh
diz:
-t Força a alocação pseudo-tty. Isso pode ser usado para executar programas arbitrários baseados em tela em uma máquina remota, o que pode ser muito útil, por exemplo, ao implementar serviços de menu. Várias opções -t forçam a alocação de tty, mesmo que ssh não tenha tty local.
https://explainshell.com/explain?cmd=ssh+-tt
Várias opções -t forçam a alocação de tty, mesmo que ssh não tenha tty local.
O que isso significa especificamente? Se não houver shell no sistema, o ssh cria o seu próprio? O que deve acontecer para que -tt falhe?
Se você fizer isto:
Você receberá uma mensagem informando:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Neste caso, stdin estava alimentando ssh, não seu shell/tty local.Using
-tt
dirá a ele para alocar independentemente. Este é um caso de uso, tenho certeza de que existem outros casos que podem ser aplicados a isso, mas stdin é um dos mais óbvios.Nenhum tty local para ssh não está sugerindo que um shell local não existe. O exemplo acima mostra o uso de stdin para transmitir em ssh.
Isso significa que forçará a alocação de tty independentemente da conexão local. Veja o exemplo acima.