| SCP(1) | دستورات کاربر | SCP(1) |
نام (NAME)
scp - کپی امن پروندهها از طریق SSH
خلاصه دستور (SYNOPSIS)
scp [-346ABCOpqRrsTv] [-c cipher] [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] [-X sftp_option] source ... target
توضیحات (DESCRIPTION)
دستور scp پروندهها را میان میزبانها در یک شبکه کپی میکند.
دستور scp از پروتکل SFTP بر روی یک اتصال ssh(1) برای انتقال داده استفاده میکند و از همان احراز هویت استفاده کرده و همان امنیت یک نشست ورود را فراهم میآورد.
در صورت نیاز به احراز هویت، scp گذرواژهها یا عبارتهای عبور را درخواست خواهد کرد.
آرگومانهای source (مبدأ) و target (مقصد) میتوانند به صورت یک مسیر محلی، یک میزبان راهدور همراه با مسیر اختیاری در قالب
[user@]host:[path]
یا یک نشانی اینترنتی (URI) در قالب
scp://[user@]host[:port][/path]
مشخص شوند. برای جلوگیری از این که scp نام پروندههای محلیِ حاوی «:» را به عنوان نام میزبان تعبیر کند، میتوان آنها را با مسیرهای مطلق یا نسبی مشخص نمود.
هنگام کپی میان دو میزبان راهدور، چنانچه از قالب URI استفاده شود و گزینه -R به کار رود، نمیتوان port را برای target تعیین کرد.
گزینهها به شرح زیر هستند:
گزینهها (OPTIONS)
- -3
- انتقال میان دو میزبان راهدور از طریق میزبان محلی انجام میشود. این حالت پیشفرض است، اما برای کپی مستقیم دادهها میان دو میزبان راهدور به گزینه -R نیز مراجعه کنید. توجه داشته باشید که هنگام استفاده از پروتکل قدیمی SCP (از طریق پرچم -O)، این گزینه حالت غیرتعاملی (batch mode) را برای میزبان دوم برمیگزیند، چرا که scp نمیتواند برای هر دو میزبان گذرواژه یا عبارت عبور درخواست کند.
- -4
- دستور scp را وادار میکند که تنها از نشانیهای IPv4 استفاده کند.
- -6
- دستور scp را وادار میکند که تنها از نشانیهای IPv6 استفاده کند.
- -A
- هدایت کارگزار احراز هویت ssh-agent(1) را به سیستم راهدور مجاز میکند. حالت پیشفرض، عدم هدایت کارگزار احراز هویت است.
- -B
- حالت غیرتعاملی (batch mode) را برمیگزیند (از درخواست گذرواژه یا عبارت عبور جلوگیری میکند).
- -C
- فعالسازی فشردهسازی. پرچم -C را برای فعالسازی فشردهسازی به ssh(1) ارسال میکند.
- -c cipher
- الگوریتم رمزنگاری (cipher) مورد استفاده برای رمزگذاری دادههای در حال انتقال را برمیگزیند. این گزینه مستقیماً به ssh(1) منتقل میشود.
- -D sftp_server_path
- اتصال مستقیم به یک برنامه کارگزار SFTP محلی، به جای اتصال به کارگزار راهدور از طریق ssh(1). این گزینه میتواند در اشکالزدایی کلاینت و سرور مفید باشد.
- -F ssh_config
- یک پرونده پیکربندی اختصاصی کاربر جایگزین برای ssh مشخص میکند. این گزینه مستقیماً به ssh(1) منتقل میشود.
- -i identity_file
- پروندهای را برمیگزیند که شناسه (کلید خصوصی) برای احراز هویت با کلید عمومی از آن خوانده میشود. این گزینه مستقیماً به ssh(1) منتقل میشود.
- -J destination
- اتصال به میزبان مقصد با برقراری اتصال نخست scp به میزبان واسط جهش (jump host) مشخصشده در destination و سپس ایجاد یک هدایت TCP از آنجا به مقصد نهایی. میتوان چندین گام جهش (jump hops) را با نویسه کاما از یکدیگر جدا کرد. این گزینه یک میانبر برای مشخص کردن دستورالعمل پیکربندی ProxyJump است. این گزینه مستقیماً به ssh(1) منتقل میشود.
- -l limit
- پهنای باند مورد استفاده را که بر حسب Kbit/s مشخص میشود، محدود میکند.
- -O
- استفاده از پروتکل قدیمی SCP برای انتقال پروندهها به جای پروتکل SFTP. اجبار به استفاده از پروتکل SCP ممکن است برای سرورهایی که SFTP را پیادهسازی نکردهاند، برای سازگاری عقبروی در الگوهای خاص نویسههای عام (wildcard) نام پرونده، و برای بسط مسیرهای دارای پیشوند «~» در سرورهای قدیمیتر SFTP ضروری باشد.
- -o ssh_option
- میتواند برای ارسال گزینهها به ssh در قالب به کار رفته در ssh_config(5) استفاده شود. این گزینه برای تعیین تنظیماتی مفید است که پرچم خط فرمان جداگانهای در scp برای آنها وجود ندارد. برای مشاهده جزئیات کامل گزینههای فهرستشده در زیر و مقادیر ممکن آنها، به ssh_config(5) مراجعه کنید.
- 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
- درگاه اتصال به میزبان راهدور را مشخص میکند. توجه داشته باشید که این گزینه با حرف بزرگ «P» نوشته میشود، زیرا -p پیشتر برای حفظ زمانها و بیتهای حالت پرونده رزرو شده است.
- -p
- زمانهای تغییر، زمانهای دسترسی و بیتهای حالت پرونده را از پرونده مبدأ حفظ میکند.
- -q
- حالت بیصدا: نوار سنجش پیشرفت و همچنین پیامهای هشدار و عیبیابی ارائهشده از سوی ssh(1) را غیرفعال میکند.
- -R
- کپی میان دو میزبان راهدور به طور پیشفرض از طریق میزبان محلی منتقل میشود. این گزینه در عوض با برقراری اتصال به میزبان مبدأ و اجرای scp در آنجا، دادهها را مستقیماً میان دو میزبان راهدور کپی میکند. این کار مستلزم آن است که scp در حال اجرا بر روی میزبان مبدأ بتواند بدون نیاز به گذرواژه، نزد میزبان مقصد احراز هویت کند.
- -r
- کپی بازگشتی تمام دایرکتوریها. توجه داشته باشید که scp پیوندهای نمادین را که در طول پیمایش درخت دایرکتوری با آنها روبرو میشود، دنبال میکند.
- -S program
- نام program مورد استفاده برای اتصال رمزگذاریشده. این برنامه باید گزینههای ssh(1) را درک کند.
- -T
- غیرفعال کردن بررسی سختگیرانه نام پروندهها. به طور پیشفرض هنگام کپی پروندهها از یک میزبان راهدور به یک دایرکتوری محلی، scp بررسی میکند که نام پروندههای دریافتشده با موارد درخواستشده در خط فرمان همخوانی داشته باشند تا از ارسال پروندههای نامنتظره یا ناخواسته از سمت راهدور جلوگیری شود. به دلیل تفاوتهای موجود در نحوه تفسیر نویسههای عام نام پرونده در سیستمعاملها و پوستههای مختلف، این بررسیها ممکن است باعث رد شدن پروندههای موردنظر شوند. این گزینه این بررسیها را غیرفعال میکند؛ با این هزینه که به سرور کاملاً اعتماد میشود تا نام پروندههای نامنتظره را ارسال نکند.
- -v
- حالت پرحرف (verbose). باعث میشود که scp و ssh(1) پیامهای اشکالزدایی مربوط به روند پیشرفت خود را چاپ کنند. این گزینه در عیبیابی مشکلات اتصال، احراز هویت و پیکربندی مفید است.
- -X sftp_option
- گزینهای را برای کنترل جنبههای رفتاری پروتکل SFTP مشخص میکند. گزینههای معتبر عبارتند از:
- nrequests=value
- تعداد درخواستهای خواندن یا نوشتن همروند SFTP را که ممکن است در هر لحظه از زمان بارگیری یا بارگذاری در جریان باشند، کنترل میکند. به طور پیشفرض ۶۴ درخواست میتوانند همزمان فعال باشند.
- buffer=value
- حداکثر اندازه بافر را برای یک عملیات منفرد خواندن یا نوشتن SFTP در هنگام بارگیری یا بارگذاری کنترل میکند. به طور پیشفرض یک بافر ۳۲ کیلوبایتی استفاده میشود.
وضعیت خروج (EXIT STATUS)
ابزار scp در صورت موفقیت با مقدار 0 و در صورت وقوع خطا با مقداری بزرگتر از صفر (>0) خارج میشود.
همچنین ببینید (SEE ALSO)
sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sftp-server(8), sshd(8)
تاریخچه (HISTORY)
دستور scp بر پایه برنامه rcp در کد منبع BSD از هیئت امنای دانشگاه کالیفرنیا توسعه یافته است.
از نگارش OpenSSH 9.0 به بعد، scp به طور پیشفرض از پروتکل SFTP برای انتقالها استفاده میکند.
نویسندگان (AUTHORS)
Timo Rinne <tri@iki.fi> Tatu Ylonen <ylo@cs.hut.fi>
هشدارها (CAVEATS)
پروتکل قدیمی SCP (که با پرچم -O انتخاب میشود) برای تطبیق الگوهای glob(3) نیازمند اجرای پوسته کاربر راهدور است. این امر مستلزم نقلقولگذاری دقیق هر نویسهای است که برای پوسته راهدور معنای خاصی دارد، مانند نویسههای علامت نقلقول.
| 2025-10-04 | OpenSSH |