SCP (Secure Copy) ile Dosya Transferi

Merhabalar

Bu yazıda komut satırından çalışan SCP komutunun nasıl kullanıldığına ve detaylarına değineceğim. SCP ( Secure Copy – Güvenli Kopyalama ) anlamına gelmektedir. SCP komutu ile bir ağdaki iki bilgisayar arasında güvenli dosya transferi yapabilirsiniz. Bağlantı sırasında SCP aracı SSH kullandığı için dosya transferi şifreli ve güvenlidir.

 

SCP Aracının Kurulumu

Linux sistemlerde öntanımlı olarak scp  kurulu olarak gelmemektedir. SCP paketi Openssh-client ile gelmektedir. Aşağıdaki komut kullanılarak scp aracı kurulabilir.

root# apt-get install openssh-client -y  (#Debian/Ubuntu)
 
root# yum install openssh-client -y    (#RHEL/CentOS/Fedora) 

 

SCP Parametre Çıktısı

-p = Hedef adreste port bilgisi girmek için kullanılır.

-q = Yüzdelik dilimler ile gösterilen transfer aşamasını kapatır/disable eder. Arayüzde gördüğünüz.

-r = Dizinleri kopyalamak için kullanılır.

-v = Hata ayıklama iletilerini görüntüler.

-C = Sıkıştırmayı etkinleştirir.

-c = Yukarılarda da bahsettiğim gibi veri aktarımını sağlayan şifreleme metodunu "-c blowfish cipher" olarak değiştirir. Performanslıdır.

-i = Ortak anahtar kimlik doğrulaması veya özel anahtar (ssh key) dosyasını kullanmak için kullanılır.

-l = Bandwidth limitlemek için kullanılabilir. Kbit/s.

 

SCP Aracının Kullanımı

SCP aracının kullanımı oldukça basittir. Çoğunlukla ben karşıdaki dosyayı bulunduğum dizine, bulunduğum dizindeki dosyayı karşıya aktarmak için kullanıyorum. Detaylarına örnekler başlığı altında değineceğim.

Aşağıdaki komutu kullanarak hedef sistemdeki /home dizini içerisine text.txt adlı dosyamızı aktarabiliriz. Komutu kullandıktan sonra size karşıdaki sistemin parolasını isteyecektir.

root# scp text.txt [email protected]:/home/  

Aşağıdaki komutu kullanarak hedef sistemdeki /home/text.txt adlı dosyası bulunduğumuz dizine aktarabiliriz. Komutun sonunda nokta ( . ) işaretini koymayı unutmayınız!

root# scp [email protected]:/home/text.txt  .   

 

Örnekler

Hedef sistemde /home/text.txt adlı dosyayı bizim sistemimizdeki /home/user/ dizinine kopyalamak.

root# scp [email protected]:/home/text.txt /home/user/  

Sistemdeki /var/log/text.txt adlı dosyayı hedef sistemde /home/user/ dizinine kopyalamak.

root# scp /var/log/text.txt [email protected]:/home/user/   

Hedef sistemin ssh portu 2224 portunda çalışmaktadır. Sistemdeki /home/text.txt adlı dosyayı hedef sistemin /home/ dizinine kopyalamak.

root# scp -P2224 /home/text.txt [email protected]:/home/   

Sahip olduğumuz bir dizini hedef sistemin /home/user/ dizini içerisine kopyalamak.

root# scp -r dizinim [email protected]:/home/user/  

Hedef sistemdeki /home/pdf/ dizinini bulunduğumuz dizine kopyalamak.

root# scp -r [email protected]:/home/pdf/ .  

İlk uzak sistemde bulunan /home/text.txt dosyasını diğer yani ikinci uzak hedef sistemin /home/ dizinine kopyalamak. Bunu tek bir komutla yapmak.

root# scp [email protected]:/home/text.txt  [email protected]:/home/   

Varolan sistemdeki text1.txt text2.txt adlı dosyaları hedef sistemin /home/ dizinine kopyalamak.

root# scp text1.txt text2.txt [email protected]:/home/   

Hedef sisteme 1G boyunda bir dosya göndermemiz gerekiyor. ( “Göndermek için birçok alternatif yol var. “) Aşağıdaki komutu kullanarak Kbit/s. cinsinden dosya transferi yaparken bandwidth limitlemesi yapabilirsiniz. Böylelikle internetinizi fazla yormamış olursunuz.

root# scp -l 1000 büyükdosya.tar.gz [email protected]:/home/   

Size sadece bir kullanıcı hesabı ile hedef sisteme dosya transferi yapabilirsin diyorlar ise aşağıdaki komutu kullanabilirsiniz. Sistemde bulunan text.txt adlı dosyayı hedef sisteme ali kullanıcısı üzerinden yollayacağız. Unutmayınız ali kullanıcısının izinleri doğrultusunda işlemler yapabiliriz. Mesela bu kullanıcı ile root dizinine (yetki yok ise) birşey yollayamayız.

root# scp text.txt [email protected]:/home/ali/  

Hedef sistemin varsayılan kullanıcı dizinindeki text1.txt text2.txt adlı iki dosyayı bulunduğumuz dizine kopyalamak. Nokta işaretini unutmayınız!

root# scp [email protected]:~/\{text1.txt,text2.txt\} .   

Daha fazla bilgi için man sayfasına bakabilirsiniz.

Tagged with: , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Archives

Tweets

Follow @ucribrahim on twitter.