Você pode forçar a sessão interativa usando a chave -tt
no seu script:
ssh -tt user@hostB ./scripts/test.ksh
Caso contrário, o TTY no hostB
não será alocado e você receberá tais erros.
Cenário : host de origem (Solaris 5.10, KSH), estou tentando executar o seguinte script chamado sample.ksh na origem
#!/bin/ksh
set -x
Rediscover ()
{
ssh user@hostB ./scripts/test.ksh
}
Rediscover
exit 0
Host remoto: Linux (bash shell), eu tenho o seguinte script chamado test.ksh
#!/bin/bash -x
resize
stty -a
exit
Problema: posso executar o test.ksh sem problemas diretamente no host do Linux, mas quando tento executá-lo remotamente a partir do Solaris, estou recebendo o seguinte erro.
root@hostA# ./sample.ksh
+ Rediscover
+ resize
resize: can't open terminal /dev/tty
+ stty -a
stty: standard input: Invalid argument
+ exit
+ exit 0
Por que não consigo ver a saída de redimensionamento e stty -a remotamente?
As chaves SSH foram configuradas de A para B
Tags ssh ksh shell-script