Ben de bir tane büyük sunucuda dosya one
ve sunucuya kopyalamak istediğiniz two
kullanarak scp
. Anahtarları düzgün ayarladım ve masaüstümden her iki sunucuya ssh / scp yapabilirim.
Kopyalamam gereken dosya benim iş istasyonunun hdd boş alan daha büyük, bu yüzden yapmak istedim:
scp one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz
ama aldım:
ssh: Could not resolve hostname one: Name or service not known
Burada DNS'miz yok (nedenini sorma), bu yüzden ~ / .ssh / config dosyamda:
Host one
Hostname <IP address of server one>
User jspurny
Host two
Hostname <IP address of server two>
User jspurny
Daha küçük bir dosyayla denediğimde one
iş istasyonuma ve sonraya aktarırsam two
iyi çalışır:
scp one:/opt/smallerfile.tar.gz .
scp smallerfile.tar.gz two:/opt/
IP adreslerini doğrudan yorumda önerildiği gibi kullanırken, şunu aldım:
$ scp jspurny@<one's IP>:bigfile.tar.gz jspurny@<two's ip>:bigfile.tar.gz
Host key verification failed.
lost connection
Problem değil:
Boyut burada bir sorun değil - bigfile.tar.gz
iş istasyonumda saklamanın bir yolu olmadığı için bu sorun için sadece bir "tetikleyici" idi . Dosya boyutundan bağımsız olarak sorun oluşur.
Soru:
Komut neden:
scp oneremote:file secondremote:file
.ssh/config
takma ad kullanıyorsa veya doğrudan ip adresleri kullanıyorsa, hata verir mi?
Çözüldü - hala bir açıklama arıyor - bigfile'i daha küçük dosyalara böldüm ve iş istasyonum aracılığıyla tek tek aktardım. Hala neden işe yaramadığını merak ediyorum. Bu yüzden hala neyin yanlış olduğuna dair bazı açıklamaları takdir ediyorum.
Başarısız olmasının bir sebebini buldum : Görünüşe göre aptal oluyordum. Ben düşündüm komutu o
scp one:file two:file
Her bir sunucuya iki bağlantıları oluşturmak ve daha sonra, veri almak edilmiş bir hemen göndermek iki ve böylece bir röle gibi hareket.
Basit çünkü bu, açıkça böyle değil -v
seçenek aslında sadece bağlanır ortaya birinden ve gelen biri onu bağlanmaya çalıştığında iki . Bu kesinlikle mümkün değil çünkü sunucu bir ikiye bağlanmak zorunda değil .