根据标题,当我尝试scp
通过ssh
隧道时,我收到以下警告。 在我的情况下,我不能scp
直接foo,因为设备foo上的端口1234被转发到专用networking上的另一个机器栏(和bar是给我一个隧道到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
有谁知道为什么我可能会得到这个警告关于Inappropriate ioctl for device
?
当我在~/bashrc
加入下面一行时,我遇到了同样的问题:
stty -ixon
这一行的目的是允许使用Ctrl-s反向搜索bash 。
这个链接有一个解决方案 (不可用)
上述链接的Web Archive版本
“stty”适用于ttys,您可以使用它进行交互式登录会话。 .kshrc是为所有会话执行的,包括stdin不是tty的。 除了将它移动到你的.profile之外,解决方案是使它成为交互式shell的执行条件。
有几种方法可以检查有意义的shell 。 以下解决了bash的问题:
[[ $- == *i* ]] && stty -ixon