Getting stty: standard input: Inappropriate ioctl for device when using scp through an ssh tunnel

linux, scp, ssh

Solution

I got the exact same problem when I included the following line on my `~/.bashrc`:

stty -ixon

The purpose of this line was to allow the use of Ctrl-s in reverse search of bash.

This gmane link has a solution: (original link dead) => Web Archive version of gmane link

'stty' applies to ttys, which you have for interactive login sessions. .kshrc is executed for all sessions, including ones where stdin isn't a tty. The solution, other than moving it to your .profile, is to make execution conditional on it being an interactive shell.

There are several ways to check for interecative shell. The following solves the problem for bash:

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

Problem

Per the title, I'm getting the following warning when I try to `scp` through an `ssh` tunnel. In my case, I cannot `scp` directly to foo because port 1234 on device foo is being forwarded to another machine bar on a private network (and bar is the machine that is giving me a tunnel to 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 ``` Does anyone know why I might be getting this warning about `Inappropriate ioctl for device`?

Original source

Related problems