Iniciar programas remotos baseados em script/terminal por meio de ssh gera erro (Erro ao abrir o terminal: desconhecido.)

Iniciar programas remotos baseados em script/terminal por meio de ssh gera erro (Erro ao abrir o terminal: desconhecido.)

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 nanocomando acima gera o mesmo erro.

ssh me@server 'open_nano.sh'

Quando faço isso ssh me@server 'echo something', recebo somethingo esperado.

O que está errado?

Responder1

Você teria que usar a -tbandeira.

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.

informação relacionada