tunel transferir servidores por entre copiar consola comando archivos linux ssh scp

linux - transferir - Obtención de stty: entrada estándar: ioctl inadecuado para el dispositivo cuando se usa scp a través de un túnel ssh



transferir archivos ssh (1)

Según el título, recibo la siguiente advertencia cuando intento hacer un scp través de un túnel ssh . En mi caso, no puedo hacer scp directamente a foo porque el puerto 1234 en el dispositivo foo se está reenviando a otra barra de la máquina en una red privada (y la barra es la máquina que me está dando un túnel al 192.168.1.23).

$ # -f and -N don''t matter and are only to run this example in one terminal $ ssh -f -N -p 1234 userA@foo -L3333:192.168.1.23:22 $ scp -P 3333 foo.py ubuntu@localhost: ubuntu@localhost''s password: stty: standard input: Inappropriate ioctl for device foo.py 100% 1829 1.8KB/s 00:00

¿Alguien sabe por qué podría recibir esta advertencia acerca de Inappropriate ioctl for device ?


Tengo exactamente el mismo problema cuando incluí la siguiente línea en mi ~/bashrc :

stty -ixon

El propósito de esta línea era permitir el uso de Ctrl-s en la búsqueda inversa de bash .

Este enlace tiene una solución (no disponible)

Versión del archivo web del enlace anterior.

''stty'' se aplica a ttys, que tiene para sesiones de inicio de sesión interactivas. .kshrc se ejecuta para todas las sesiones, incluidas aquellas en las que stdin no es un tty. La solución, aparte de moverlo a su perfil .profile, es hacer que la ejecución esté condicionada a que sea un shell interactivo.

Hay varias formas de verificar el shell interecativo . Lo siguiente resuelve el problema para bash:

[[ $- == *i* ]] && stty -ixon