Bir sunucudan başka bir sunucuya kopyalayın?


34

Yerel bilgisayarımı atlayarak dosyaları bir sunucudan diğerine doğrudan kopyalamaya çalışıyorum.

yaptım

scp -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
Password: 
Host key verification failed.
lost connection

Bu mümkün mü? Nasıl düzeltebilirim?


Eğer çıktısını gönderebilir miyim komutu vardır: scp -r -v usrname@server1.com aşağıdaki: ~ / veri / * usrname@server2.com: ~ / veri /
pragmatik

Yanıtlar:


55

İki sunucu arasında bağlantı kurulamadığında oldukça sık kullandığım bir şey

scp -3 user@server1:/path/to/file user@server2:/path/to/file

kaynak

-3 İki uzak ana bilgisayar arasındaki kopyalar yerel ana bilgisayar üzerinden aktarılır. Bu seçenek olmadan, veriler doğrudan iki uzak ana bilgisayara kopyalanır. Bu seçeneğin ilerleme sayacını devre dışı bıraktığını unutmayın.

Her ikisiyle de iyi bir bağlantın olduğunu varsayarsak, yavaş değil.


Ayrıca, her iki sunucuda da özel bağlantı noktaları kullanmanız gerekirse: superuser.com/questions/686394/…
Pit

-rBir dizini kopyalıyorsanız bayrak eklemeyi unutmayın .
Taylor Edmiston

16

Evet bu mümkün, ancak yalnızca bu ismi kullanarak server1.comulaşabilirsiniz server2.com. Değilse, muhtemelen bir mesaj alırsınız:ssh: connect to host server2 port 22: Connection refused

İçin mansayfa scpaçıkça bir ağdaki ana bilgisayarlar arasında kopyalandığını ve bu:

İki uzak ana bilgisayar arasındaki kopyalara da izin verilir.

Eğer (bir kez) yapmalıyım nedir sshiçin username@server1.comve oradan sshiçin username@server2.com. Evet yaparken alacağınız orijinallik sorusuna cevap verin.scp

Yönlendirme aracısını şu şekilde etkinleştirmeniz gerekebilir:

scp -o "ForwardAgent yes" -r usrname@server1.com:~/data/* usrname@server2.com:~/data/

Fakat bunun içindeki tehlikeyi anladığınızdan emin olun ( man ssh_config)


Sadece sshgelen ed server1.comiçin server2.com, ben gerçekten soruyu yanıtladı ve başarılı oldu. Sonra yerel bilgisayarıma geri dönüyorum, tekrar yapıyorum ve server2.comşifre sorusunu alıyorum . Ama orada ile başarısız olur:Permission denied (publickey,keyboard-interactive). lost connection
Sibbs Gambling

1
@SibbsGambling Bunun özel anahtarınızı iletmeye dayandığını düşünüyorum. Şifre vermeden her iki sunucuya da giriş yapabilir misiniz? Eğer gelen giriş Could server1için server2şifre sağlamadan. "ForwardAgent yes" seçeneğini ayarlamanız gerekebilir.
Anthon

1

Öncelikle i kontrol etmeniz gerekir, eğer aynı hatayı alırsanız, lütfen dosyayı açın ~/.ssh/known_hostsve server2 anahtarını arayın ve silin.

Ardından sunucuya ana bilgisayar adına ping atıp atmadığınızı kontrol edin.

Eğer öyleyse, lütfen her iki sunucu ana dosyasını da aşağıda belirtildiği gibi düzenleyin.

 #vi /etc/hosts  
 server1 192.186.x.x  
 server2 192.186.x.xx   
 :wq   ---> to save  

Bu cd ​​ile işiniz bittikten sonra sunucuya kopyalamak istediğiniz dosyanın konumuna

scp file_name user@server2:/path_to_the_directory ---> Eğer bahsedebiliriz konak ismi yerine IP kullanabilirsiniz -Rbir dizin kopyalamak için.


0

~/.ssh/known_hostsHer iki sunucu için uygun kayıt olup olmadığını kontrol edin

Sunucu1'in sunucu2 için uygun ~/.ssh/known_hostskayıt olup olmadığını da kontrol edin


-2

Dosyayı bir sunucudan diğerine kopyalamak için aşağıdaki komutu kullanabilirsiniz:

scp source_user@source_remote_host:/usr/bin/mysql_backup.sh \
         target_user@target_remote_host:/var/tmp/
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.