it-swarm.com.de

Erste Schritte: Standardeingabe: Unangemessenes ioctl für das Gerät, wenn scp durch einen SSH-Tunnel verwendet wird

Laut Titel erhalte ich die folgende Warnung, wenn ich versuche, scp durch einen ssh Tunnel zu führen. In meinem Fall kann ich nicht direkt zu foo scp, da Port 1234 auf Gerät foo an eine andere Rechnerleiste in einem privaten Netzwerk weitergeleitet wird (und bar ist der Rechner, der mir einen Tunnel zu 192.168.1.23 gibt).

$ # -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]'s password:
stty: standard input: Inappropriate ioctl for device
foo.py                                          100% 1829     1.8KB/s   00:00

Weiß jemand, warum ich diese Warnung über Inappropriate ioctl for device?

26
jonderry

Ich habe genau das gleiche Problem, als ich die folgende Zeile in mein ~/bashrc:

stty -ixon

Der Zweck dieser Zeile bestand darin, die Verwendung von Strg-s bei der umgekehrten Suche nach bash zu ermöglichen.

Dieser Link hat eine Lösung (nicht verfügbar)

Web Archive Version des obigen Links

'stty' gilt für ttys, die Sie für interaktive Anmeldesitzungen haben. .kshrc wird für alle Sitzungen ausgeführt, auch wenn stdin kein tty ist. Die Lösung besteht darin, die Ausführung davon abhängig zu machen, dass es sich um eine interaktive Shell handelt.

Es gibt verschiedene Möglichkeiten, nach einer interecativen Shell zu suchen . Folgendes löst das Problem für bash:

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