Получение stty: стандартный ввод: несоответствующий ioctl для устройства при использовании scp через туннель ssh
В заголовке я получаю следующее предупреждение при попытке scp
через туннель ssh
. В моем случае я не могу scp
напрямую foo, потому что порт 1234 на устройстве foo пересылается на другую служебную панель в частной сети (а панель - это машина, которая дает мне туннель к 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 [email protected] -L3333:192.168.1.23:22
$ scp -P 3333 foo.py [email protected]:
[email protected] password:
stty: standard input: Inappropriate ioctl for device
foo.py 100% 1829 1.8KB/s 00:00
Кто-нибудь знает, почему я могу получить это предупреждение о Inappropriate ioctl for device
?
Ответы
Ответ 1
У меня возникла такая же проблема, когда я включил следующую строку в мой ~/bashrc
:
stty -ixon
Цель этой строки состояла в том, чтобы разрешить использование Ctrl-s в обратном поиске bash.
Эта ссылка имеет решение (не доступно)
Версия веб-архива вышеуказанной ссылки
'stty' применяется к ttys, который у вас есть для интерактивных сеансов входа в систему..kshrc выполняется для всех сеансов, включая те, в которых stdin не a tty. Решение, кроме перемещения его в ваш .profile, - это сделать выполнение условным, поскольку он является интерактивной оболочкой.
Существует несколько способов проверки межсетевой оболочки. Следующее решает проблему для bash:
[[ $- == *i* ]] && stty -ixon