Eu inicio diretamente um script/comando remoto em um servidor Ubuntu com o seguinte comando:
ssh me@server 'nano my_file.txt'
No entanto, isso gera um erro:
Error opening terminal: unknown.
Outro exemplo, chamar um script remoto que contém o nano
comando acima gera o mesmo erro.
ssh me@server 'open_nano.sh'
Quando faço isso ssh me@server 'echo something'
, recebo something
o esperado.
O que está errado?
Responder1
Você teria que usar a -t
bandeira.
Exemplos:
ssh -t me@server 'nano my_file.txt'
ssh -t me@server 'open_nano.sh'
Explicação de man ssh
:
-t Force pseudo-tty allocation. This can be used to execute arbi‐ trary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.