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

LinuxSshScp

Linux Problem Overview


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?

Linux Solutions


Solution 1 - Linux

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

Solution 2 - Linux

Got the same issue while executing the script remotely. After many tries didn't get any luck to solve this error. Then got an article to run a shell script through ssh. This was an issue related to ssh, not any other command. ssh -t "command" -t will allocate a pseudo TTY to the ssh and this error won't come.

Solution 3 - Linux

at the end i created a blank .cshrc file ( for ubuntu 18.04). worked

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjonderryView Question on Stackoverflow
Solution 1 - LinuxmMontuView Answer on Stackoverflow
Solution 2 - LinuxArun KumarView Answer on Stackoverflow
Solution 3 - LinuxarkView Answer on Stackoverflow