Güvenli Dosya Aktarımı İçin SCP Komutu Nasıl Kullanılır

Güvenli Dosya Aktarımı İçin SCP Komutu Nasıl Kullanılır

SCP (güvenli kopya), iki konum arasında dosya ve dizinleri güvenli bir şekilde kopyalamanızı sağlayan bir komut satırı yardımcı programıdır.

Scp ile bir dosya veya dizini kopyalayabilirsiniz:

  • Yerel sisteminizden uzak bir sisteme.
  • Uzak bir sistemden yerel sisteminize.
  • Yerel sisteminizden iki uzak sistem arasında.

Scp ile veri aktarırken, hem dosyalar hem de parola şifrelenir, böylece trafiğe göz atan her hangi biri hassas bir veri elde edemez.

Bu yazımda, scp komutunun pratik örnekler ve en yaygın scp seçeneklerinin ayrıntılı açıklamaları ile nasıl kullanılacağını göstereceğim.

SCP Komut Sözdizimi

Scp komutunun nasıl kullanılacağına başlamadan önce, temel sözdizimini inceleyerek başlayalım.

scp [SEÇENEK] [kullanıcı@]KAYNAK_HOST:]dosya1 [kullanıcı@]HEDEF_HOST:]dosya2
  • SEÇENEK - şifre, ssh yapılandırması, ssh bağlantı noktası, sınır, özyinelemeli kopyalama vb gibi scp seçenekleri.
  • [kullanıcı@]KAYNAK_HOST:]dosya1 - kaynak dosya
  • [kullanıcı@]HEDEF_HOST:]dosya2 - hedef dosya

Yerel dosyaların mutlak veya göreceli bir yol kullanılarak belirtilmesi gerekirken uzak dosya adları bir kullanıcı ve ana bilgisayar ip'sini içermelidir.

scp davranışının her yönünü kontrol eden bir dizi seçenek sunar. En yaygın kullanılan seçenekler:

  • -P Uzak ana bilgisayar ssh portunu belirtir.
  • -p Dosyaların değiştirme ve erişim zamanalarını korur.
  • -q İlerleme ölçer ve hata dışı mesajları bastırmak istiyorsanız bu seçeneği kullanın.
  • -C Bu seçenek, scp'ye hedef makineye gönderilirken verileri sıkıştırmaya zorlar.
  • -r Bu seçenek scp'ye dizinleri yinelemeli olarak kopyalamasını söyler.

Başlamadan Önce

Scp komutu veri aktarımı için ssh'a dayanır, bu nedenle uzak sistemlerde kimlik doğrulaması için bir ssh anahtarı veya parola gerektirir.

İki nokta üst üste (:), scp'nin yerel ve uzak konumları birbirinden nasıl ayırdıpının gösterimidir.

Dosyaları kopyalayabilmek için kaynak dosya üzerinde en azından okuma iznine ve hedef sisteme yazma iznine sahip olmalısınız.

Her iki sistemde de aynı adı ve konumu paylaşan dosyaları kopyalarken dikkatli olun, scp uyarı yapmadan dosyaların üzerine yazacaktır.

Büyük dosyaları aktarırken, scp komutunun bir screen veya tmux oturumunda çalıştırılması önerilir.

Scp ile İki Sistem Arasındaki Dosyaları ve Dizinleri Kopyalayın

Scp Komutunu Kullanarak Yerel Dosyayı Uzak Bir Sisteme Kopyalama

Bir dosyayı yerelden uzak bir sisteme kopyalamak için aşağıdaki komutu çalıştırın:

$ scp dosya.txt uzak_kullanıcı@173.146.193.209:/uzak/dizin

Burada, dosya.txt kopyalamak istediğimiz dosyanın adı, uzak_kullanıcı uzak sunucudaki kullanıcı, 173.146.193.209 ise sunucu IP adresidir. /uzak/dizin, dosyayı kopyalamak istediğiniz dizinin yoludur. Bir uzak dizin belirtmezseniz, dosya uzak kullanıcı giriş dizinine kopyalanır.

Kullanıcı şifresini girmeniz istenir ve aktarım işlemi başlar. ssh key ile bağlanıyorsanız şifre girmeniz istenmez.

Çıktı:

uzak_kullanıcı@173.146.193.209's password:
dosya.txt                        100%    0     0.0KB/s   00:00

Dosya adının hedef konumdan eklenmez ise scp dosyayı orijinal adıyla kopyalar. Dosyayı farklı bir adla kaydetmek istiyorsanız, yeni dosya adını belirtmeniz gerekir:

$ scp dosya.txt uzak_kullanıcı@173.146.193.209:/uzak/dizin/yeni-dosya-adi.txt

Uzak ana bilgisayardaki SSH varsayılan 22 dışında bir bağlantı noktasını dinliyorsa, -P bağımsız değişkenini kullanarak bağlantı noktasını belirtebilirsiniz:

$ scp -P 2322 dosya.txt uzak_kullanıcı@173.146.193.209:/uzak/dizin

Bir dizini kopyalama komutu, dosyaları kopyalarken olduğu gibidir. Tek fark, özyinelemede -r bayrağını kullanmanız gerektiğidir.

$ scp -r /yerel/dizin uzak_kullanıcı@173.146.193.209:/uzak/dizin

Scp Komutunu Kullanarak Uzak Sistemdeki Dosyayı Yerel Sisteme Kopyalama

Bir dosyayı uzaktaki sistemden yerel bir sisteme kopyalamak için, uzak konumu kaynak olarak ve yerel konumu hedef olarak kullanın.

Örneğin, IP 173.146.193.209 ile uzak bir sunucudan dosya.txt adlı bir dosyayı kopyalamak için aşağıdaki komutu çalıştırın:

$ scp  uzak_kullanıcı@173.146.193.209:/uzak/dizin/dosya.txt /yerel/dizin

Uzak makinede şifresiz bir SSH girişi ayarlamadıysanız, kullanıcı şifresini girmeniz istenir.

Scp Komutunu Kullanarak İki Uzak Sistem Arasında Dosya Kopyalama

Rsync'in aksine, scp kullanırken, dosyaları bir bilgisayardan başka bir uzak makineye aktarmak için sunuculardan birinde oturum açmanız gerekmez.

Aşağıdaki komut /dosyalar/dosya.txt dosyasını uzak ana bilgisayar host1.com'dan uzak ana bilgisayar host2.com'daki dizine /dosyalar'a kopyalar.

$ scp kullanıcı[email protected]:/dosyalar/dosya.txt kullanıcı[email protected]:/dosyalar

Her iki uzak hesap için de parola girmeniz istenir. Veriler doğrudan bir uzak ana bilgisayardan diğerine aktarılacaktır.

Trafiği komutun verildiği makineye yönlendirmek için -3 seçeneğini kullanın:

$ scp -3 kullanıcı[email protected]:/dosyalar/dosya.txt kullanıcı[email protected]:/dosyalar

Sonuç

Bu yazımda, dosyaları ve dizinleri kopyalamak için scp komutunun nasıl kullanılacağını öğrendiniz.


Yorumlar

There are no comments yet.

Mesaj alanı doldurulması zorunludur.
Markdown kopya kağıdı.


Haber bültenime abone olun

Aylık bültenime katılın ve yeni hikayeleri asla kaçırmayın.