ssh host 'ls -als'
Quando você pede ao ssh para executar um comando no sistema remoto, o ssh normalmente não aloca um PTY (pseudo-TTY) para a sessão remota. Você pode executar ssh com -t
para forçá-lo a alocar um tty:
ssh -t host 'ls -als'
Se você não quiser digitar o tempo todo, você pode adicionar essa linha ao arquivo ".ssh / config" no seu host local:
RequestTTY yes
Como alternativa, você poderia corrigir o arquivo ".bashrc" em seu sistema remoto para evitar a execução de comandos que presumem que a sessão é interativa quando não é. Uma maneira é incluir os comandos em um teste em que a sessão possui um TTY:
if [ -t 1 ]
then
# standard output is a tty
# do interactive initialization
fi