linux - script - ssh multiple
Error SSH al ejecutar un comando remoto: "stdin: no es un tty" (1)
Estoy tratando de conectarme a la máquina uno con ssh y luego conectar a otra máquina dos con ssh. Pero consigue este error:
ssh [email protected] ''ssh [email protected]''
stdin: is not a tty
Al iniciar sesión en un shell, el host remoto asume que la conexión la realiza un usuario humano. Por lo tanto, es razonable esperar que tengan control sobre el estándar en el cliente. Es decir, el usuario está dando entrada en un terminal a través del teclado. Si el host remoto detecta que el usuario no es humano (porque la entrada no es un terminal - tty, sino otro proceso), puede advertir al usuario sobre esta condición inesperada.
Una demostración de la mala conducta discutida y cómo evitarla ( man ssh
y busque -t para una explicación más completa).
$ ssh -t genja.org ''ssh raptor.lan hostname/; uptime''
host: genja.lan
raptor
21:17:27 up 3 days, 15 min, 1 user, load average: 0.00, 0.00, 0.00
Connection to genja.org closed.
$ ssh genja.org uptime
host: genja.lan
21:17:43 up 12 days, 17:40, 1 user, load average: 0.30, 0.08, 0.02
... y el error:
$ ssh genja.org ''ssh raptor.lan hostname/; uptime''
host: genja.lan
Permission denied (publickey,keyboard-interactive).
Es posible que desee hacer un túnel en su lugar:
ssh -L 4444:raptor.lan:22 genja.org
Luego, en una terminal diferente:
ssh -p 4444 localhost will give you a conenction straight to "raptor.lan"
Use direcciones IP como 192.168.0.11 si los alias DNS no están configurados en el extremo remoto.