2012-03-20 9 views
23

scp foo [email protected]:bar działa dobrzeWeryfikacja klucza hosta scp nie powiodło się dla pilota zdalnego kopii

scp [email protected]:foo bar działa dobrze

scp [email protected]:foo [email protected]:bar nie powiedzie się z powodu błędu:

Host key verification failed. 
lost connection 

Domyślam to dlatego SCP uniemożliwia zdalny do zdalnego kopiowanie (między dwoma różnymi zdalnymi hostami lub tym samym zdalnym hostem), ponieważ nie jest wydajne przesyłanie danych z point A do point L do point B zamiast bezpośrednio z point A do point B.

Czy to właściwe uzasadnienie, dlaczego nie działa? W jaki sposób instrukcje użycia wiersza poleceń w instrukcji nie dokumentują go? A może to, że konkretny scp w mojej dystrybucji Ubuntu próbuje być ojcowskim?

+0

Off-topic; należy do [su] lub [unix.se] –

+2

Ruch jest bezpośredni. Nie będziesz mieć punktu A do punktu L do punktu B, ale bezpośrednio do punktu B. Wszystkie problemy, które możesz mieć, dotyczą uwierzytelniania SSH między poszczególnymi punktami. – dAm2K

Odpowiedz

14

Działa. Twoim problemem jest uwierzytelnianie SSH między użytkownikiem @ remote a użytkownikiem @ remote. Jeśli to ten sam użytkownik na tym samym serwerze i używasz uwierzytelniania RSA, musisz dodać klucz publiczny (~/.ssh/id_rsa.pub) do ~/.ssh/authorized_keys samego użytkownika.

Należy również zwrócić uwagę na rozpoznawanie nazw. W twoim przypadku "zdalny" może być nazwą serwera, która ma sens dla klienta, ale nie może mieć sensu ze zdalnego punktu widzenia. Użyj adresu IP serwera (jeśli serwer nie jest za NAT) lub ustaw typową nazwę serwera na/etc/hosts na komputerze klienta i serwera: "zdalny" powinien zostać rozwiązany przez klienta i twój serwer.

+0

dzięki - rozumiem teraz. jest to ten sam użytkownik i ten sam serwer zdalny. – necromancer

+0

nie działa dla mnie. ta sama sytuacja (ten sam użytkownik i ten sam zdalny serwer). klucz jest dołączony i im używa IP serwera. od lokalnego do zdalnego i z powrotem działa dobrze. – user1338413

+0

spróbuj z ssh -vvv, aby włączyć niektóre komunikaty debugowania i spróbuj sprawdzić, dlaczego to nie działa – dAm2K

2

"Ważne jest, aby pamiętać, że SCP nie może być używany do zdalnego kopiowania ze źródła do miejsca docelowego podczas pracy w trybie uwierzytelniania za pomocą hasła lub interaktywnej klawiatury, ponieważ spowoduje to ujawnienie danych uwierzytelniających serwera docelowego w źródle." http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode

Spróbuj użyć uwierzytelniania opartego na kluczach, aby pobrać zdalny do zdalnego scp.

+0

użyłem uwierzytelniania na podstawie klucza, odpowiedź jest podanie danych uwierzytelniających dla zdalnego rozmowy z pilotem (za poprzednią odpowiedzią) – necromancer

+1

CHŁODZENIE aby zobaczyć, ile osiągnął poziom informacji o ziarnistości! – dAm2K

+1

Uzgodnione. Wikipedia staje się doskonałym uzupełnieniem stron * nix man – Worldcrafter

42

wyjazdu opcji:

-3: kopiowanie między dwoma oddalonymi gospodarzy są przesyłane do komputera lokalnego. Bez tej opcji dane są kopiowane bezpośrednio między dwoma zdalnymi hostami. Zauważ, że ta opcja wyłącza licznik postępu.

Opcja ta stała się dostępna w OpenSSH 5.7

+0

Jeśli nie masz 5.7+ i nie chcesz host1 idącego bezpośrednio do hosta2 lub chcesz funkcji rsync wypróbuj '' dir = 'mktemp -d' && cd $ dir && rsync -avz user1 @ host1: ~/source. && rsync -avz.user2 @ host2: ~/dest && rm -rvf $ dir'' – KCD

+2

Dzięki temu moje życie stało się łatwiejsze! – user1943442

+0

To działa dla scp między user1 @ remote1 i user2 @ remote2. – tjmehta

Powiązane problemy