SCP (Secure Copy Protocol), iki bilgisayar arasında dosya transferi yapmak için kullanılan, güvenli ve şifreli bir protokoldür. SCP, SSH (Secure Shell) üzerinden çalışır ve hem dosyaları hem de dizinleri uzak bir sunucuya veya yerel makinenize güvenli bir şekilde kopyalamanızı sağlar. Genellikle Linux ve Unix tabanlı sistemlerde, hatta Windows’ta da, dosya aktarımı için tercih edilir.
📜 SCP (Secure Copy Protocol) Nedir?
-
SCP, dosya ve dizin transferi yapmak için kullanılan, şifreli bir protokoldür.
-
SSH (Secure Shell) protokolüne dayanır ve SSH üzerinden dosya transferi yapar, yani dosya aktarımı sırasında veriler şifrelenir.
-
SCP, genellikle uzak bir sunucuya dosya gönderme veya sunucudan dosya alma için kullanılır.
🧭 SCP Komutunun Temel Kullanımı
1. SCP ile Dosya Gönderme:
Bir dosyayı yerel bilgisayarınızdan (host) uzak bir sunucuya göndermek için şu komutu kullanabilirsiniz:
Örnek:
Bu komut, dosya.txt
adlı dosyayı yerel bilgisayarınızdan, IP adresi 192.168.1.10 olan sunucunun /home/kullanıcı/backup/ dizinine kopyalar.
2. SCP ile Dosya Alma (Sunucudan):
Bir dosyayı uzak bir sunucudan yerel bilgisayarınıza almak için şu komutu kullanabilirsiniz:
Örnek:
Bu komut, 192.168.1.10 IP adresine sahip sunucudan /home/kullanıcı/backup/dosya.txt dosyasını alıp, yerel bilgisayarınızdaki /home/yerel_kullanıcı/ dizinine kopyalar.
3. Birden Fazla Dosya Gönderme:
Birden fazla dosya göndermek için dosya adlarını aralarına boşluk koyarak yazabilirsiniz veya bir joker karakter kullanabilirsiniz:
Veya joker karakterle tüm dosyaları gönderebilirsiniz:
4. Dizin Transferi:
Bir dizini ve içeriğini kopyalamak için -r
(recursive) seçeneğini kullanarak tüm alt dizinleri ve dosyaları aktarabilirsiniz:
Bu komut, /home/kullanıcı/dizin içindeki tüm dosya ve alt dizinleri 192.168.1.10 sunucusundaki /home/kullanıcı/backup/ dizinine kopyalar.
5. Port Belirtme:
Eğer SSH sunucusu farklı bir port üzerinden çalışıyorsa (örneğin: 2222 portu), -P
parametresi ile port numarasını belirtebilirsiniz:
⚙️ SCP’nin Temel Seçenekleri
Seçenek | Açıklama |
---|---|
-r | Dizini ve içeriğini rekürsif olarak kopyalar |
-P [port_numarası] | SSH sunucusunun kullanacağı portu belirtir |
-v | Komutun ayrıntılı çıktısını gösterir, hatalar için faydalıdır |
-C | Veriyi sıkıştırarak transfer eder (hızlı transfer için) |
-i [anahtar_dosya] | Belirli bir SSH özel anahtarı kullanarak bağlanır |
6. SCP ve SSH Anahtarları:
SCP, SSH anahtarlarıyla çalışabilir. Eğer parola girmeden bağlanmak istiyorsanız, SSH anahtarınızı kullanarak güvenli bir bağlantı kurabilirsiniz.
Örnek komut:
Bu komut, ~/.ssh/anahtar.pem
dosyasını kullanarak parola girmeden bağlantı kurar.
7. SCP ile Veriyi Sıkıştırarak Gönderme:
Dosya transferini hızlandırmak için -C
seçeneğini kullanarak veriyi sıkıştırabilirsiniz:
🌐 SCP’nin Modern Kullanım Alanları
-
Web Sunucularına Dosya Gönderme:
-
SCP, web geliştiricileri tarafından HTML dosyaları, CSS, JavaScript ve resim dosyalarını sunuculara yüklemek için yaygın olarak kullanılır.
-
-
Sunucular Arası Yedekleme:
-
Sistem yöneticileri, veritabanları ve diğer kritik dosyaları uzak sunuculara yedeklemek için SCP’yi tercih ederler.
-
-
Veri Aktarımı ve Taşınabilirlik:
-
Veri taşıma işlemleri sırasında güvenli bir dosya transferi sağlamak amacıyla SCP kullanılır.
-
-
DevOps ve CI/CD Süreçleri:
-
Yazılım geliştirme süreçlerinde, build dosyalarını ve betikleri uzak sunuculara taşımak için DevOps mühendisleri SCP kullanır.
-
📦 SCP ve Alternatifleri
-
SFTP (SSH File Transfer Protocol): SCP’nin alternatiflerinden biridir. SCP ile aynı güvenlik özelliklerine sahip olmasına rağmen, SFTP daha fazla dosya yönetimi yeteneği sunar.
-
rsync: SCP’ye göre daha verimli bir dosya transfer aracıdır. Yalnızca değişen veriyi gönderir, bu da büyük veri transferlerinde daha hızlı ve verimli olmasını sağlar.
🎯 Sonuç:
SCP, güvenli ve hızlı dosya transferi yapmanızı sağlayan, SSH protokolü üzerine kurulmuş güçlü bir araçtır. Dosya veya dizin göndermek ve almak için terminal üzerinde kullanılan bu komut, dosya aktarımlarını şifreli bir ortamda gerçekleştirir. SSH anahtarları ve port seçenekleri gibi gelişmiş özellikleri ile hem güvenli hem de verimli bir dosya transferi sağlar.