30 Nisan 2025 - 14:26
Linux SCP Komutu ve Kullanımı Görseli
Linux

Linux SCP Komutu ve Kullanımı

Yorumlar

Tekrar merhabalar. Yerel bir ağda bir sistemimiz mevcut. Bazen isteklere göre bazı dosyaları düzenleriz ve aktif ederiz. Tabii aktif çalışan bir sistem olduğundan önce test serverında yapılan değişiklikleri test eder, sonra dosyayı kullanan diğer serverlara bu değişiklikleri göndeririz.

Peki dosyaların kopyalanacağı server sayısı birazcık (birazcık derken 10 tanecikten bahsediyorum) fazlaysa ne yapacağız? İlk akla gelen FTP'den dosyaları indirip ve hepsine FTP bağlantısı kurup yüklemek. Bu kadar ne diye uğraşırsınız ki? Serverlar linux. O zaman SCP kullanırsak istediğimiz olur.

SCP (Secure Copy), bir ağdaki iki bilgisayar arasında dosya, klasör kopyalamamızı sağlar. Bağlantı sırasında SSH servisini kullanır. SCP'nin kullanımı gayet basit ve kısadır. Komutu verdikten sonra bağlantısını kurar, dosyasını kopyalar ve bağlantısını kapatır. Basit olarak anlatırsak kullanımı şu şekildedir:

GENEL
scp kopyalacak_dosyanın_adi kopyalanacağı_yer

SCP uzak bilgisayarlarla iletişime geçebilen bir komut, öyleyse ona dosyanın mı yoksa kopyalanacağı yerin mi (yada ikisi birden) uzak bilgisayarda olduğunu söylemeli, konumlarını belirtmeliyiz. Bunu yapmak için uzak bilgisayarda olan konumun başına kullanıcı_adı@host_ismi: gibi bir ekleme yapmamız gerekiyor.

Eğer karşı bilgisayardan kendi bilgisayarımıza kopyalayacaksak:

GENEL
scp kullanici_adi@IPADRESI:kopyalacak_dosyanın_adi kopyalanacağı_yer

Kendi bilgisayarımızdan karşı bilgisayara kopyalayacaksak:

GENEL
scp kopyalacak_dosyanın_adi kullanıcı_adı@IPADRESI:kopyalanacağı_yer

Uzak bilgisayarlar arası kopyalayacaksak:

GENEL
scp kullanıcı_adı@IPADRESI:kopyalacak_dosyanın_adi kullanıcı_adı@IPADRESI2:kopyalanacağı_yer

Bu kadar basit. Bu adımdan sonra size karşı tarafın şifresi sorulacak, onu da girdikten sonra dosyalarınız kopyalanacak. Eğer iç içe dosyaları ve klasörleri de kopyalamak isterseniz -r parametresini kullanabilirsiniz.

Örnekleyelim....

Dosyanın Olduğu IP: 172.16.0.2
Dosyamızın Konumu: /home/aliosman/netopsiyon.txt
Dosyanın Gönderileceği IP: 172.16.0.3

172.16.0.2 IP adresli servera SSH girişi yaptık. Komutumuz şu şekilde:

GENEL
scp /home/aliosman/netopsiyon.txt root@172.16.0.3:/home/aliosman/

Peki dosya değilde klasör gönderelim. Bu durumda komutumuz:

GENEL
scp -r /home/aliosman/deneme root@172.16.0.3:/home/

Yeni bir serverımız daha var. Onun da IP adresi 172.16.0.4. Ancak bunun SSH portu 22 değil, 1230 olsun. Bu durumda komutumuza yeni parametre -P geliyor.

GENEL
scp -P 1230 -r /home/aliosman/deneme root@172.16.0.4:/home/

Ancak bende linux kullanıyorum. Bu yüzden herhangi bir servera girmeme gerek yok. Kendi bilgisayarımdan 2 server arasında scp yapabilir miyim? Deneyelim;

GENEL
scp root@172.16.0.3:/home/aliosman/netopsiyon.txt root@172.16.0.4:/home/aliosman/

172.16.0.2 IP adresli serverdaki /home/aliosman/ altındaki herşeyi 172.16.0.3 IP adresli serverdaki farklı klasörün altına nasıl göndeririz? * ile :)

GENEL
scp -r root@172.16.0.2:/home/aliosman/* root@172.16.0.3:/home/netopsiyon/

Şimdi de 172.16.0.3 nolu makinaya SSH girişi yapalım. 172.16.0.4 IP adresli makinadan netopsiyon.zip dosyasını çekelim.

GENEL
scp root@172.16.0.4:/home/netopsiyon.zip /home/aliosman/

Herhalde bu kadar örnek yeter. Kafanıza takılan sorular varsa, saçmalamışsın, nerden aklına geliyor bunlar diyen varsa buyursun yorumlara...

NOT: Bu işlemi gerçek serverlar arasında da yapabilirsiniz. Komutlardaki dosyalar ve serverlar kurgusaldır.

Benzer Yazılar

Yorumlar ()

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap