← man/network
scp — man scp — 80×24
ugur@toprak:~/man/network$man scp
Bölüm 1

scp

OpenSSH güvenli dosya kopyalama (secure file copy)

Sinopsis (Synopsis)

      scp [-346ABCOpqRrsTv] [-c şifreleyici] [-D sftp_sunucu_yolu] [-F ssh_yapılandırması] [-i kimlik_dosyası]
	 [-J hedef] [-l sınır] [-o ssh_seçeneği] [-P port] [-S program] [-X sftp_seçeneği]
	 kaynak ... hedef

Açıklama (Description)

scp, bir ağ üzerindeki konaklar arasında dosya kopyalar.

scp, veri aktarımı için bir ssh(1) bağlantısı üzerinden SFTP protokolünü kullanır ve bir oturum açma (login) oturumuyla aynı kimlik doğrulamayı kullanıp aynı güvenliği sağlar.

scp, kimlik doğrulama için gerekli olması durumunda şifre veya parola ifadeleri (passphrases) isteyecektir.

Kaynak ve hedef; yerel bir yol adı (pathname), [kullanıcı@]konak:[yol] biçiminde isteğe bağlı yolu olan uzak bir konak veya scp://[kullanıcı@]konak[:port][/yol] biçiminde bir URI olarak belirtilebilir. Yerel dosya adları, scp'nin ‘:’ içeren dosya adlarını konak belirteçleri olarak ele almasını önlemek amacıyla mutlak veya göreli yol adları kullanılarak açık hale getirilebilir.

İki uzak konak arasında kopyalama yaparken, URI biçimi kullanılıyorsa ve -R seçeneği belirtilmişse hedefte bir port belirtilemez.

Seçenekler aşağıdaki gibidir:

  • -3: İki uzak konak arasındaki kopyalamalar yerel konak üzerinden aktarılır. Bu mod varsayılan değerdir, ancak verileri iki uzak konak arasında doğrudan kopyalamak için -R seçeneğine de bakın. Eski SCP protokolü kullanılırken ( -O bayrağı aracılığıyla), scp her iki konak için de şifre veya parola isteyemeyeceğinden, bu seçeneğin ikinci konak için toplu iş (batch) modunu seçeceğini unutmayın.

  • -4: scp'yi yalnızca IPv4 adreslerini kullanmaya zorlar.

  • -6: scp'yi yalnızca IPv6 adreslerini kullanmaya zorlar.

  • -A: ssh-agent(1) yönlendirmesinin uzak sisteme yapılmasına izin verir. Varsayılan olarak kimlik doğrulama aracısı yönlendirilmez.

  • -B: Toplu iş (batch) modunu seçer (şifre veya parola sorulmasını engeller).

  • -C: Sıkıştırmayı etkinleştirir. Sıkıştırmayı etkinleştirmek için ssh(1)'e -C bayrağını iletir.

-c şifreleyici Veri aktarımını şifrelemek için kullanılacak şifreleyiciyi (cipher) seçer. Bu seçenek doğrudan ssh(1)'e iletilir.

-D sftp_sunucu_yolu ssh(1) aracılığıyla uzak bir sunucuya bağlanmak yerine doğrudan yerel bir SFTP sunucu programına bağlanır. Bu seçenek, istemci ve sunucuda hata ayıklarken yararlı olabilir.

-F ssh_yapılandırması ssh için kullanıcı başına alternatif bir yapılandırma dosyası belirtir. Bu seçenek doğrudan ssh(1)'e iletilir.

-i kimlik_dosyası Kamu anahtarı (public key) kimlik doğrulaması için kimliğin (özel anahtar / private key) okunacağı dosyayı seçer. Bu seçenek doğrudan ssh(1)'e iletilir.

-J hedef Önce hedef tarafından tanımlanan sıçrama konağına (jump host) bir scp bağlantısı kurarak ve ardından oradan nihai hedefe bir TCP yönlendirmesi oluşturarak hedef konağa bağlanır. Virgül karakterleriyle ayrılarak birden fazla sıçrama noktası belirtilebilir. Bu, bir ProxyJump yapılandırma yönergesini belirtmek için kısa bir yoldur. Bu seçenek doğrudan ssh(1)'e iletilir.

-l sınır Kullanılan bant genişliğini Kbit/s cinsinden sınırlar.

  • -O: Dosya aktarımları için SFTP protokolü yerine eski SCP protokolünü kullanır. SFTP uygulamayan sunucular için, belirli dosya adı joker kalıplarıyla geriye dönük uyumluluk sağlamak için ve daha eski SFTP sunucularında ‘~’ öneki olan yolları genişletmek için SCP protokolünün kullanılmasına zorlamak gerekli olabilir.

-o ssh_seçeneği ssh_config(5) dosyasında kullanılan biçimde ssh'a seçenekler iletmek için kullanılabilir. Bu, ayrı bir scp komut satırı bayrağı olmayan seçenekleri belirtmek için kullanışlıdır. Aşağıda listelenen seçeneklerin tüm ayrıntıları ve olası değerleri için ssh_config(5) kılavuzuna bakın.

AddKeysToAgent AddressFamily BatchMode BindAddress BindInterface CASignatureAlgorithms CanonicalDomains CanonicalizeFallbackLocal CanonicalizeHostname CanonicalizeMaxDots CanonicalizePermittedCNAMEs CertificateFile ChannelTimeout CheckHostIP Ciphers ClearAllForwardings Compression ConnectTimeout ConnectionAttempts ControlMaster ControlPath ControlPersist DynamicForward EnableEscapeCommandline EnableSSHKeysign EscapeChar ExitOnForwardFailure FingerprintHash ForkAfterAuthentication ForwardAgent ForwardX11 ForwardX11Timeout ForwardX11Trusted GSSAPIAuthentication GSSAPIDelegateCredentials GatewayPorts GlobalKnownHostsFile HashKnownHosts Host HostKeyAlgorithms HostKeyAlias HostbasedAcceptedAlgorithms HostbasedAuthentication Hostname IPQoS IdentitiesOnly IdentityAgent IdentityFile IgnoreUnknown Include KbdInteractiveAuthentication KbdInteractiveDevices KexAlgorithms KnownHostsCommand LocalCommand LocalForward LogLevel LogVerbose MACs NoHostAuthenticationForLocalhost NumberOfPasswordPrompts ObscureKeystrokeTiming PKCS11Provider PasswordAuthentication PermitLocalCommand PermitRemoteOpen Port PreferredAuthentications ProxyCommand ProxyJump ProxyUseFdpass PubkeyAcceptedAlgorithms PubkeyAuthentication RekeyLimit RemoteCommand RemoteForward RequestTTY RequiredRSASize RevokedHostKeys SecurityKeyProvider SendEnv ServerAliveCountMax ServerAliveInterval SessionType SetEnv StdinNull StreamLocalBindMask StreamLocalBindUnlink StrictHostKeyChecking SyslogFacility TCPKeepAlive Tag Tunnel TunnelDevice UpdateHostKeys User UserKnownHostsFile VerifyHostKeyDNS VisualHostKey XAuthLocation

-P port Uzak konakta bağlanılacak portu belirtir. Bu seçeneğin büyük ‘P’ ile yazıldığına dikkat edin; çünkü -p seçeneği dosyanın zamanlarını ve mod bitlerini korumak için zaten ayrılmıştır.

  • -p: Kaynak dosyadan değişiklik zamanlarını, erişim zamanlarını ve dosya modu bitlerini korur.

  • -q: Sessiz mod: ilerleme göstergesinin (progress meter) yanı sıra ssh(1)'den gelen uyarı ve teşhis mesajlarını devre dışı bırakır.

  • -R: İki uzak konak arasındaki kopyalamalar varsayılan olarak yerel konak üzerinden aktarılır. Bu seçenek ise kaynak konağa bağlanıp orada scp komutunu yürüterek iki uzak konak arasında kopyalama yapar. Bu, kaynak konak üzerinde çalışan scp'nin hedef konakta şifre gerektirmeden kimlik doğrulaması yapabilmesini gerektirir.

  • -r: Tüm dizinleri özyinelemeli (recursive) olarak kopyalar. scp'nin ağaç geçişinde karşılaşılan sembolik bağlantıları takip ettiğini unutmayın.

-S program Şifreli bağlantı için kullanılacak programın adı. Program, ssh(1) seçeneklerini anlayabilmelidir.

  • -T: Sıkı dosya adı denetimini devre dışı bırakır. Varsayılan olarak, uzak bir konaktan yerel bir dizine dosyalar kopyalanırken scp, uzak tarafın beklenmeyen veya istenmeyen dosyalar göndermesini önlemek için alınan dosya adlarının komut satırında istenenlerle eşleştiğini denetler. Çeşitli işletim sistemlerinin ve kabukların (shells) dosya adı joker karakterlerini yorumlama biçimlerindeki farklılıklar nedeniyle, bu denetimler istenen dosyaların reddedilmesine neden olabilir. Bu seçenek, sunucunun beklenmeyen dosya adları göndermeyeceğine tamamen güvenme pahasına bu denetimleri devre dışı bırakır.

  • -v: Ayrıntılı mod. scp ve ssh(1)'in ilerlemeleri hakkında hata ayıklama mesajları yazdırmasına neden olur. Bu, bağlantı, kimlik doğrulama ve yapılandırma sorunlarının giderilmesinde yararlıdır.

-X sftp_seçeneği SFTP protokolü davranışının yönlerini kontrol eden bir seçenek belirtir. Geçerli seçenekler şunlardır:

nrequests=değer Bir indirme veya yükleme sırasında herhangi bir zamanda kaç eşzamanlı SFTP okuma veya yazma isteğinin devam edebileceğini kontrol eder. Varsayılan olarak 64 istek eşzamanlı olarak etkin olabilir.

buffer=değer İndirme veya yükleme sırasında kullanılan tek bir SFTP okuma/yazma işlemi için maksimum arabellek boyutunu kontrol eder. Varsayılan olarak 32KB'lık bir arabellek kullanılır.

Çıkış Durumu (Exit Status)

scp yardımcı programı başarı durumunda 0, bir hata oluşursa >0 ile çıkar.

Ayrıca Bakınız (See Also)

sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sftp-server(8), sshd(8)

Tarihçe (History)

scp, University of California Regents'in BSD kaynak kodundaki rcp programına dayanmaktadır.

OpenSSH 9.0'dan bu yana scp, aktarımlar için varsayılan olarak SFTP protokolünü kullanmaktadır.

Yazarlar (Authors)

Timo Rinne tri@iki.fi Tatu Ylonen ylo@cs.hut.fi

Uyarılar (Caveats)

Eski SCP protokolü ( -O bayrağıyla seçilir), glob(3) kalıp eşleştirmesini gerçekleştirmek için uzak kullanıcının kabuğunun (shell) yürütülmesini gerektirir. Bu durum, uzak kabuk için tırnak karakterleri gibi özel anlamı olan tüm karakterlerin dikkatlice tırnak içine alınmasını gerektirir.

macOS 26.4 4 Ekim, 2025 macOS 26.4