2012-03-20 44 views
23

scp foo [email protected]:bar工作正常SCP主機密鑰驗證失敗了遙控器遠程複製

scp [email protected]:foo bar工作正常

scp [email protected]:foo [email protected]:bar失敗,錯誤:

Host key verification failed. 
lost connection 

我猜這是因爲SCP遠程不允許遠程複製(在兩個不同的遠程主機或同一個遠程主機之間),因爲將數據從point A傳送到point Lpoint B而不是直接從point Apoint B

這是爲什麼它不起作用的正確理由嗎?本手冊中的命令行使用說明如何記錄它?還是僅僅是我的Ubuntu發行版上的特定scp正試圖成爲父親?

+0

偏離主題;屬於[su]或[unix.se] – 2012-03-20 22:49:31

+2

流量是直接的。您不需要點A將點L指向點B,但將點A指向點B.您可能遇到的所有問題都是關於每個點之間的SSH驗證。 – dAm2K 2012-03-21 00:05:39

回答

14

它的工作原理。你的問題是user @ remote和user @ remote之間的SSH認證。 如果它是同一臺服務器上的同一個用戶,並且您正在使用RSA身份驗證,則必須將公鑰(〜/ .ssh/id_rsa.pub)附加到用戶本身的〜/ .ssh/authorized_keys中。

也要注意名稱解析。在你的情況下,「遠程」可以是一個服務器名稱,這對你的客戶來說是有意義的,但是從遠程的角度來看是沒有意義的。使用服務器IP(如果服務器不在NAT後面)或在您的客戶端和服務器計算機上的/ etc/hosts中設置公用服務器名稱:「remote」應該可以從客戶端和服務器計算機上解析。 「

+0

謝謝 - 我現在明白了。它是相同的用戶和相同的遠程服務器。 – necromancer 2012-03-21 00:54:07

+0

不適合我。相同的情況(相同的用戶和相同的遠程服務器)。該密鑰被附加並且即時使用服務器IP。從本地到遠程和後勤工作都很好。 – user1338413 2013-01-04 09:49:19

+0

嘗試使用ssh -vvv來啓用一些調試消息並嘗試檢查它爲什麼不能正常工作 – dAm2K 2013-01-04 19:43:56

2

」重要的是要注意,在密碼或鍵盤交互式身份驗證模式下操作SCP時,SCP不能用於從源遠程複製到目標,因爲這會向目標服務器顯示目標服務器的身份驗證憑據。 http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode

嘗試使用基於密鑰的身份驗證來將遠程到遠程scp。

+0

我使用基於密鑰的身份驗證,答案是爲遠程設備提供憑據以與遠程對話(根據以前的答案) – necromancer 2012-03-21 00:53:25

+1

COOL查看維基百科達到了多少粒度信息等級! – dAm2K 2012-03-21 01:08:25

+1

同意。維基百科正在成爲* nix手冊頁的絕佳補充 – Worldcrafter 2012-03-21 13:12:04

42

退房的選項:

-3:兩個遠程主機之間的副本通過本地主機傳送。如果沒有此選項,數據將直接在兩臺遠程主機之間複製。請注意,此選項禁用進度表。

此選項變爲可用OpenSSH 5.7

+0

如果你沒有5.7+,並且你不想讓host1直接進入host2或者你想要rsync功能,請嘗試''dir ='mktemp -d' && cd $ dir && rsync -avz user1 @ host1:〜/ source。 && rsync -avz。user2 @ host2:〜/ dest && rm -rvf $ dir'' – KCD 2014-07-24 22:38:19

+2

這讓我的生活變得更加輕鬆! – user1943442 2015-01-07 16:19:37

+0

這適用於user1 @ remote1和user2 @ remote2之間的scp。 – tjmehta 2015-09-28 20:12:54

相關問題