GNU/Linux >> Tutoriales Linux >  >> Linux

Ssh Inside Ssh falla con "stdin:Is Not A Tty"?

Estoy tratando de conectarme a la máquina uno con ssh y luego a otra máquina dos con ssh, pero recibo este error.

ssh [email protected] 'ssh [email protected]'

stdin: is not a tty

¿Por qué?

Respuesta aceptada:

De manera predeterminada, cuando ejecuta un comando en la máquina remota usando ssh, no se asigna un TTY para la sesión remota. Esto le permite transferir datos binarios, etc. sin tener que lidiar con las peculiaridades de TTY. Este es el entorno proporcionado para el comando ejecutado en computerone .

Sin embargo, cuando ejecuta ssh sin un comando remoto, SÍ asigna un TTY, porque es probable que esté ejecutando una sesión de shell. Esto es esperado por ssh [email protected] comando, pero debido a la explicación anterior, no hay TTY disponible para ese comando.

Si quieres un shell en computertwo , use esto en su lugar, lo que forzará la asignación de TTY durante la ejecución remota:

ssh -t [email protected] 'ssh [email protected]'

Esto suele ser apropiado cuando finalmente ejecuta un shell u otro proceso interactivo al final de la cadena ssh. Si iba a transferir datos, no es apropiado ni obligatorio agregar -t , pero cada comando ssh contendría un comando de producción o consumo de datos, como:

ssh [email protected] 'ssh [email protected] "cat /boot/vmlinuz"'

Linux
  1. Automatización de contraseñas SSH en Linux con sshpass

  2. Múltiples comandos en Sshpass?

  3. ¿Enumerar todos los directorios que no tienen un archivo con un nombre de archivo determinado dentro?

  4. ¿Buscar dentro del cubo S3 con registros?

  5. Primeros pasos con SSH en Linux

Inicios de sesión SSH basados ​​en claves con PuTTY

¿Vim no se ejecuta dentro de Tmux?

¿Oring con True en un comando sobre Ssh?

Cómo deshabilitar el inicio de sesión SSH con contraseña

Cómo proteger SSH con Fail2Ban

Puede hacer ping/ssh a través de LAN pero no con Wi-Fi