SCP yani "Secure Copy" diye adlandırılan güzel Türkçemizde ise güvenli kopya olarak bilinen bu komut, ssh ile kimlik doğrulaması sağlayarak sunucular arası dosya transferi işlemlerinde çokça kullandığımız güvenli bir komuttur. Scp ile dilerseniz kendi sunucunuza farklı bir sunucudan dosya çekebilir, dilerseniz kendi sunucunuzdan farklı bir sunucuya dosya transfer edebilirsiniz.

Çok detayı olmayan bu komut için bir kaç temel bilgi verdikten sonra başlıkları ile komutlarımızı yazıp kısa ve öz bir makale ortaya çıkarmış olacağım. Daha fazla komut ve parametre için ( Bkz. OpenBSD General Commands )

  • -P : Bağlantı kuracağınız sunucudaki port 22 dışında bir port ise bu portu belirtmek için kullanılır.
  • -C Transfer edilen dosyaları sıkıştırmak için kullanılır. Kopyalamanın hızında faydası olur.
  • -c blowfish Triple-DES ile şifrelenerek gönderilen verilerin hızını yükseltmek için kullanılır.
  • -r Ağaç yapısında olacak şekilde belirtilen klasör ve altındaki tüm klasörleri kopyalamak için kullanılır.



Örneklerin daha anlaşılabilir olması için sunuuclara isim ve ip vereceğim.

Örneklerde kullanılan sunuculardan, VENUS bizim sunucumuz ve EARTH karşıdaki sunucu olarak kullanılacak!


VENUS -198.168.0.24 - 22
EARTH -198.168.0.28 - 3265



SCP ile Sunucumuza Farklı Bir Sunucudan Nasıl Dosya Çekilir ?

scp -P 3265 root@198.168.0.28:/var/www/dosya.tar.gz /home

EARTH sunucusundaki /var/www dizininden VENUS sunucumuzdaki home dizinine dosya.tar.gz dosyasını çektik.



SCP ile Sunucudan Farklı Bir Sunucuya Nasıl Dosya Transfer Edilir ?

Yukarıdaki transfer ettiğimiz dosya.tar.gz dosyasını şimdi EARTH sunucusuna geri transfer edelim.

home dizinine geçiş yapıyorum

cd /home

Dosyamı EARTH sunucusuna gönderiyorum.

scp -P 3265 dosya.tar.gz root@198.168.0.28:/home


Bu sayede EARTH sunucusundan çektiğimiz dosyayı aynı şekilde EARTH sunucusundaki home dizinine gönderdim.



SCP ile Uzak Sunucudan Klasör Nasıl Çekilir ?

VENUS sunucusunda home dizini altında bulunan dokumanlar klasörünü altındaki tüm dosya ve klasörleri ile EARTH sunucumuza çekeceğiz.

dokumanlar klasörünü EARTH sunucumuza çekiyoruz...

scp -r root@198.168.0.24:/home/dokumanlar /home



SCP ile Uzak Sunucuya Klasör Transferi Nasıl Yapılır ?

EARTH sunucusuna çektiğimiz home dizini altında bulunan dokumanlar klasörünü altındaki tüm dosya ve klasörleri ile şimdi VENUS sunucusunda /var/www dizinine transfer edeceğiz.

Öncelikle EARTH sunucusunda home dizinine geçiyoruz

cd /home



dokumanlar klasörünü VENUS sunucusuna transfer ediyoruz...

scp -r dokumanlar root@198.168.0.24:/var/www



SCP ile Çoklu Dosya Transferi Nasıl Yapılır ?

Sunucu başında beklemek yerine, farklı uzantı ve isimlerdeki aktarımı uzun sürecek dosyalar için işinize yarayacak bir scp transfer komutu :) EARTH sunucumuzdaki dosya1.zip, dosya2.tar.gz, dosya3.bz, dosya4.tar dosyalarını VENUS sunucumuza çekiyoruz.

scp -P 3265 root@198.168.0.28:/home/\{dosya1.zip,dosya2.tar.gz,dosya3.bz,dosya4.tar\}