2012-03-20 8 views
23

scp foo [email protected]:bar funziona beneospite SCP verifica chiave non riuscita per telecomando per copia remota

scp [email protected]:foo bar funziona bene

scp [email protected]:foo [email protected]:bar fallisce con l'errore:

Host key verification failed. 
lost connection 

Sto indovinando questo è perché SCP non consente a distanza di distanza copia (tra due host remoti diversi o lo stesso host remoto) perché è inefficiente canalizzare i dati da point A a point L a point B anziché direttamente da point A a point B.

È questa la ragione giusta per spiegare perché non funziona? Come mai le istruzioni per l'uso della riga di comando nel manuale non lo documentano? O è solo che lo specifico scp sulla mia distribuzione di Ubuntu sta cercando di essere paterno?

+0

Off-topic; appartiene a [su] o [unix.se] –

+2

Il traffico è diretto. Non avrai il punto A nel punto L nel punto B, ma il punto diretto A nel punto B. Tutti i problemi che potresti avere riguardano l'autenticazione SSH tra ogni punto. – dAm2K

risposta

14

Funziona. Il tuo problema è l'autenticazione SSH tra utente @ remoto e utente @ remoto. Se si tratta dello stesso utente sullo stesso server e si utilizza l'autenticazione RSA, è necessario aggiungere la chiave pubblica (~/.ssh/id_rsa.pub) in ~/.ssh/authorized_keys dell'utente stesso.

Fare attenzione anche alla risoluzione dei nomi. Nel tuo caso "remoto" può essere un nome server che ha senso per il tuo cliente, ma non ha senso dal punto di vista remoto. Usa l'IP del server (se il server non è dietro nat) o imposta un nome di server comune in/etc/hosts sul tuo computer client e server: "remote" dovrebbe essere risolvibile dal tuo client e dal tuo server.

+0

grazie - ho capito ora. è lo stesso utente e lo stesso server remoto. – necromancer

+0

non funziona per me. stessa situazione (stesso utente e stesso server remoto). la chiave viene aggiunta e im usando l'IP del server. dal locale al remoto e indietro funzionano bene. – user1338413

+0

prova con ssh -vvv per abilitare alcuni messaggi di debug e prova a controllare perché non funziona per te – dAm2K

2

"È importante notare che SCP non può essere utilizzato per la copia remota dall'origine alla destinazione quando si utilizza la password o la modalità di autenticazione interattiva da tastiera, in quanto ciò rivelerebbe le credenziali di autenticazione del server di destinazione all'origine." http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode

Provare a utilizzare l'autenticazione basata su chiave per estrarre uno scp da remoto a remoto.

+0

stavo usando l'autenticazione basata su chiave, la risposta è dare credenziali per il remoto per parlare al remoto (per risposta precedente) – necromancer

+1

COOL per vedere quanto livello di informazioni sulla granularità ha raggiunto Wikipedia !! – dAm2K

+1

concordato. Wikipedia sta diventando un eccellente supplemento per * nix man pages – Worldcrafter

42

Partenza l'opzione:

-3: Copie tra due host remoti vengono trasferiti attraverso l'host locale. Senza questa opzione i dati vengono copiati direttamente tra i due host remoti. Si noti che questa opzione disabilita il misuratore di avanzamento.

Questa opzione è disponibile in OpenSSH 5.7

+0

Se non hai 5.7+ e non vuoi che host1 vada direttamente a host2 o vuoi le funzionalità rsync prova '' dir = 'mktemp -d' && cd $ dir && rsync -avz user1 @ host1: ~/source. && rsync -avz.user2 @ host2: ~/dest && rm -rvf $ dir'' – KCD

+2

Questo ha reso la mia vita MOLTO più facile! – user1943442

+0

Funziona per scp tra user1 @ remote1 e user2 @ remote2. – tjmehta