2014-07-08 7 views
18

Per il titolo, ricevo il seguente avviso quando provo a scp attraverso un tunnel ssh. Nel mio caso, non posso fare lo scp direttamente a foo perché la porta 1234 sul dispositivo foo viene inoltrata a un'altra barra della macchina su una rete privata (e la barra è la macchina che mi sta offrendo un tunnel per 192.168.1.23).Ottenere stty: input standard: ioctl inappropriato per il dispositivo quando si utilizza scp attraverso un tunnel ssh

$ # -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 

Qualcuno sa il motivo per cui potrebbe essere sempre questo avvertimento circa Inappropriate ioctl for device?

risposta

40

ho avuto lo stesso problema quando ho inserito la seguente linea sul mio ~/bashrc:

stty -ixon 

Lo scopo di questa linea è stato quello di consentire l'uso di Ctrl-s in reverse search of bash.

This link has a solution (non disponibile)

Web Archive version of the above link

'stty' vale per ttys, che avete per sessioni di login interattive. .kshrc viene eseguito per tutte le sessioni, comprese quelle in cui stdin non è a tty. La soluzione, oltre a spostarla nel tuo profilo .prop è, a , subordinare l'esecuzione a una shell interattiva.

There are several ways to check for interecative shell. Di seguito risolve il problema per bash:

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

Spiegazione di "[[$ - = * i *]]" che si trova qui (io certamente avuto bisogno): http://stackoverflow.com/questions/31155381/what -does-i-mean-in-bash/31155446 –

+0

Felice di incollare il testo dal collegamento, poiché sembra che il collegamento sia morto ora e alcune ricerche rapide non generano un nuovo URL per esso. – Randall

+0

@Rallestisci il link è davvero morto. Ma spero che sia temporaneo, come menzionato su [la loro homepage] (http://gmane.org/). – mMontu