| SFTP(1) | General Commands Manual | SFTP(1) |
نام (NAME)
sftp —
برنامه
امن انتقال
پرونده
خلاصه دستور (SYNOPSIS)
sftp
[-46AaCfNpqrv] [-B
buffer_size] [-b
batchfile] [-c
cipher] [-D
sftp_server_command] [-F
ssh_config] [-i
identity_file] [-J
destination] [-l
limit] [-o
ssh_option] [-P
port] [-R
num_requests] [-S
program] [-s
subsystem | sftp_server]
[-X sftp_option]
destination
توضیحات (DESCRIPTION)
sftp یک
برنامه
انتقال
پرونده
شبیه به
ftp(1) است
که تمام
عملیاتها
را روی یک
بستر
انتقال
رمزگذاریشدهٔ
ssh(1)
انجام
میدهد. این
برنامه
همچنین
میتواند
از بسیاری
از
ویژگیهای ssh
مانند
احراز هویت
با کلید
عمومی و
فشردهسازی
استفاده
کند.
مقصد یا destination میتواند به صورت [user@]host[:path] یا به صورت یک نشانی وب (URI) به شکل sftp://[user@]host[:port][/path] مشخص شود.
اگر destination
شامل یک path
(مسیر) باشد و
آن مسیر یک
دایرکتوری
نباشد،
sftp در
صورت
استفاده از
یک روش
احراز هویت
غیرتعاملی،
پروندهها
را به صورت
خودکار
دریافت
خواهد کرد؛
در غیر این
صورت، این
کار را پس از
احراز هویت
تعاملی
موفقیتآمیز
انجام
خواهد داد.
اگر هیچ
path مشخص
نشده باشد،
یا اگر مسیر
تعیینشده
یک
دایرکتوری
باشد، sftp
به میزبان
(host)
مشخصشده
وارد
میشود و به
حالت
دستورات
تعاملی
میرود و در
صورتی که
دایرکتوری
راه دوری
مشخص شده
باشد، به آن
تغییر مسیر
میدهد.
میتوان از
یک اسلش
اختیاری در
انتهای
مسیر برای
اجبار به
تفسیر path
بهعنوان
دایرکتوری
استفاده
کرد.
از آنجا که در قالبهای مقصد از نویسهٔ دو نقطه (:) برای جداسازی نام میزبان از نام مسیر یا شماره درگاه استفاده میشود، نشانیهای IPv6 باید در براکتهای مربع [ ] قرار گیرند تا از بروز ابهام جلوگیری شود.
گزینهها به شرح زیر هستند:
-4- اجبار
sftpبه استفاده انحصاری از نشانیهای IPv4. -6- اجبار
sftpبه استفاده انحصاری از نشانیهای IPv6. -A- اجازه به بازفرستادن (forwarding) ssh-agent(1) به سیستم راه دور. حالت پیشفرض عدم بازفرستادن عامل احراز هویت است.
-a- تلاش برای ادامه دادن انتقالهای متوقفشده بهجای رونویسی بر روی پروندههای ناقص یا کاملِ موجود. اگر محتوای ناقص با دادههای در حال انتقال تفاوت داشته باشد، پرونده حاصل احتمالاً خراب خواهد شد.
-Bbuffer_size- تعیین
اندازه
بافری که
sftpهنگام انتقال پروندهها استفاده میکند. بافرهای بزرگتر به تعداد تبادلات رفتوبرگشتی (round trips) کمتری نیاز دارند اما حافظه بیشتری مصرف میکنند. مقدار پیشفرض ۳۲۷۶۸ بایت است. -bbatchfile- حالت
دستهای (Batch mode)
مجموعهای
از دستورات
را بهجای
ورودی
استاندارد
(stdin)
از یک
پرونده
ورودی batchfile
میخواند.
از آنجا که
این حالت
فاقد تعامل
کاربر است،
باید به
همراه
احراز هویت
غیرتعاملی
استفاده
شود تا نیاز
به وارد
کردن
گذرواژه در
هنگام
اتصال
برطرف گردد
(برای
جزئیات به
sshd(8) و
ssh-keygen(1)
مراجعه
کنید).
مقدار ‘-’ برای batchfile میتواند برای نشان دادن ورودی استاندارد استفاده شود. اگر هر یک از دستورات زیر ناموفق باشد،
sftpمتوقف خواهد شد:get,put,reget,reput,rename,ln,rm,mkdir,chdir,ls,lchdir,copy,cp,chmod,chown,chgrp,lpwd,df,symlink, وlmkdir.توقف در اثر بروز خطا را میتوان برای هر دستور به صورت جداگانه با افزودن پیشوند ‘-’ به ابتدای دستور غیرفعال کرد (برای مثال،
-rm /tmp/blah*). نمایش بازگشتی (Echo) دستور را نیز میتوان با افزودن پیشوند ‘@’ به ابتدای دستور غیرفعال کرد. این دو پیشوند را میتوان به هر ترتیبی با یکدیگر ترکیب کرد، برای مثال-@ls /bsd. -C- فعالسازی
فشردهسازی
(از طریق
پرچم
-Cدر ssh). -ccipher- انتخاب الگوریتم رمزنگاری مورد استفاده برای رمزگذاری دادههای در حال انتقال. این گزینه مستقیماً به ssh(1) پاس داده میشود.
-Dsftp_server_command- اتصال مستقیم به یک سرور محلی sftp (بهجای اتصال از طریق ssh(1)). میتوان یک دستور و آرگومانهای آن را مشخص کرد، برای مثال "/path/sftp-server -el debug3". این گزینه میتواند در اشکالزدایی کلاینت و سرور مفید باشد.
-Fssh_config- تعیین یک پرونده پیکربندی سفارشی برای هر کاربر در ssh(1). این گزینه مستقیماً به ssh(1) پاس داده میشود.
-f- درخواست تخلیه فوری پروندهها بر روی دیسک (flush) بلافاصله پس از انتقال. هنگام بارگذاری پروندهها، این ویژگی تنها در صورتی فعال است که سرور از افزونهٔ "fsync@openssh.com" پشتیبانی کند.
-iidentity_file- انتخاب پروندهای که شناسه (کلید خصوصی) برای احراز هویت با کلید عمومی از آن خوانده میشود. این گزینه مستقیماً به ssh(1) پاس داده میشود.
-Jdestination- اتصال به
میزبان هدف
از طریق
برقراری
اتصال
اولیهٔ
sftpبه میزبان جهش (jump host) توصیفشده توسط destination و سپس ایجاد بازفرستادن TCP به مقصد نهایی از آنجا. میتوان چند میزبان جهش را با نویسه ویرگول از هم جدا کرد. این گزینه یک میانبر برای تعیین دستورالعمل پیکربندیProxyJumpاست. این گزینه مستقیماً به ssh(1) پاس داده میشود. -llimit- محدود کردن پهنای باند مصرفی، بر حسب Kbit/s.
-N- غیرفعال
کردن حالت
بیصدا، به
عنوان مثال
برای لغو
حالت
بیصدای
ضمنی
تنظیمشده
با پرچم
-b. -ossh_option- میتواند
برای ارسال
گزینهها
به
sshبا قالبی که در ssh_config(5) استفاده میشود، به کار رود. این برای مشخص کردن گزینههایی کاربرد دارد که برای آنها پرچم جداگانهای در خط فرمانsftpوجود ندارد. برای مثال، جهت تعیین یک درگاه جایگزین استفاده کنید از:sftp -oPort=24. برای جزئیات کامل گزینههای فهرستشده در زیر و مقادیر مجاز آنها، به 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
-Pport- تعیین درگاه برای اتصال به میزبان راه دور.
-p- حفظ زمانهای اصلاح، زمانهای دسترسی و مجوزهای پروندههای اصلی منتقلشده.
-q- حالت بیصدا: نوار پیشرفت و همچنین پیامهای هشدار و تشخیصی از سوی ssh(1) را غیرفعال میکند.
-Rnum_requests- تعیین تعداد درخواستهایی که میتوانند در هر لحظه در انتظار پاسخ باشند. افزایش این مقدار ممکن است سرعت انتقال پرونده را اندکی بهبود بخشد اما مصرف حافظه را افزایش میدهد. مقدار پیشفرض ۶۴ درخواست در انتظار است.
-r- رونوشتبرداری
بازگشتی (recursive)
از تمام
پوشهها
هنگام
بارگذاری و
بارگیری.
توجه داشته
باشید که
sftpپیوندهای نمادین موجود در مسیر پیمایش درخت پوشهها را دنبال نمیکند. -Sprogram- نام program مورد استفاده برای اتصال رمزگذاریشده. این برنامه باید گزینههای ssh(1) را بفهمد و پشتیبانی کند.
-ssubsystem | sftp_server- تعیین زیرسیستم SSH2 یا مسیر مربوط به یک کارگزار sftp بر روی میزبان راه دور. تعیین مسیر زمانی مفید است که sshd(8) روی میزبان راه دور فاقد یک زیرسیستم sftp پیکربندیشده باشد.
-v- افزایش سطح گزارشگیری (logging level). این گزینه به ssh نیز ارسال میشود.
-Xsftp_option- تعیین
گزینهای
که
جنبههایی
از رفتار
پروتکل SFTP را
کنترل
میکند.
گزینههای
معتبر
عبارتند از:
nrequests=value- کنترل تعداد درخواستهای همزمان خواندن یا نوشتن SFTP که در هر لحظه از بارگیری یا بارگذاری میتوانند در حال پردازش باشند. بهطور پیشفرض ۶۴ درخواست میتوانند به صورت همزمان فعال باشند.
buffer=value- کنترل حداکثر اندازه بافر برای یک عملیات منفرد خواندن/نوشتن SFTP که در حین بارگیری یا بارگذاری استفاده میشود. بهطور پیشفرض از یک بافر ۳۲ کیلوبایتی استفاده میشود.
دستورات تعاملی (INTERACTIVE COMMANDS)
پس از ورود
به حالت
تعاملی،
sftp
مجموعهای
از دستورات
را مشابه با
ftp(1)
پشتیبانی
میکند.
دستورات به
بزرگی و
کوچکی حروف
حساس
نیستند. نام
مسیرهایی
که شامل
فاصله
هستند باید
در کوتیشن
قرار گیرند.
هرگونه
نویسهٔ
ویژهای در
نام مسیرها
که توسط
glob(3)
شناخته
میشود
باید با
استفاده از
بکاسلش (‘\’)
اسکیپ شود.
bye- خروج از
sftp. cd[path]- تغییر دایرکتوری راه دور به path. اگر path مشخص نشده باشد، دایرکتوری به همان دایرکتوری که نشست در آن آغاز شده بود تغییر مییابد.
chgrp[-h] grp path- تغییر گروه
پروندهٔ
path به grp.
مسیر path
میتواند
شامل
نویسههای
الگوی
glob(7)
باشد و ممکن
است با چند
پرونده
مطابقت
داشته باشد.
شناسهٔ grp
باید یک GID
عددی باشد.
اگر پرچم
-hمشخص شده باشد، پیوندهای نمادین دنبال نمیشوند. توجه داشته باشید که این ویژگی تنها توسط سرورهایی پشتیبانی میشود که افزونهٔ "lsetstat@openssh.com" را پیادهسازی کرده باشند. chmod[-h] mode path- تغییر
مجوزهای
پروندهٔ
path به mode.
مسیر path
میتواند
شامل
نویسههای
الگوی
glob(7)
باشد و ممکن
است با چند
پرونده
مطابقت
داشته باشد.
اگر پرچم
-hمشخص شده باشد، پیوندهای نمادین دنبال نمیشوند. توجه داشته باشید که این ویژگی تنها توسط سرورهایی پشتیبانی میشود که افزونهٔ "lsetstat@openssh.com" را پیادهسازی کرده باشند. chown[-h] own path- تغییر مالک
پروندهٔ
path به own.
مسیر path
میتواند
شامل
نویسههای
الگوی
glob(7)
باشد و ممکن
است با چند
پرونده
تطابق یابد.
شناسهٔ own
باید یک UID
عددی باشد.
اگر پرچم
-hمشخص شده باشد، پیوندهای نمادین دنبال نمیشوند. توجه داشته باشید که این ویژگی تنها توسط سرورهایی پشتیبانی میشود که افزونهٔ "lsetstat@openssh.com" را پیادهسازی کرده باشند. copyoldpath newpath- رونوشتبرداری
از پرونده
راه دور از
oldpath به
newpath.
توجه داشته باشید که این دستور تنها توسط سرورهایی پشتیبانی میشود که افزونهٔ "copy-data" را پیادهسازی کرده باشند.
cpoldpath newpath- نام مستعار
برای دستور
copy. df[-hi] [path]- نمایش
اطلاعات
استفاده
برای سیستم
پروندهای
که
دایرکتوری
کنونی (یا
path در
صورت مشخص
شدن) در آن
قرار دارد.
اگر پرچم
-hمشخص شده باشد، اطلاعات ظرفیت با استفاده از پسوندهای «خوانا برای انسان» نمایش داده میشود. پرچم-iعلاوه بر اطلاعات ظرفیت، درخواست نمایش اطلاعات inode را نیز میدهد. این دستور تنها در سرورهایی پشتیبانی میشود که افزونهٔ “statvfs@openssh.com” را پیادهسازی کرده باشند. exit- خروج از
sftp. get[-afpR] remote-path [local-path]- دریافت
پروندهٔ
remote-path و
ذخیره آن
روی رایانه
محلی. اگر
نام مسیر
محلی مشخص
نشده باشد،
همان نامی
را میگیرد
که در
رایانه راه
دور دارد.
مسیر remote-path
میتواند
شامل
نویسههای
glob(7)
باشد و ممکن
است با چند
پرونده
تطابق یابد.
در این حالت
اگر local-path
مشخص شده
باشد،
آنگاه local-path
باید یک
دایرکتوری
را مشخص
کند.
اگر پرچم
-aمشخص شده باشد، تلاش میشود تا انتقال ناقص پروندههای موجود از سر گرفته شود. توجه داشته باشید که ازسرگیری فرض میکند هرگونه رونوشت ناقص از پرونده محلی با رونوشت راه دور همخوانی دارد. اگر محتوای پرونده راه دور با نسخه ناقص محلی تفاوت داشته باشد، پرونده نهایی احتمالاً خراب خواهد شد.اگر پرچم
-fمشخص شده باشد، تابع fsync(2) پس از اتمام انتقال پرونده فراخوانی میشود تا دادهها را بر روی دیسک تخلیه کند.اگر پرچم
-pمشخص شده باشد، تمام مجوزها و زمانهای دسترسی پرونده نیز رونوشتبرداری میشوند.اگر پرچم
-Rمشخص شده باشد، دایرکتوریها به صورت بازگشتی رونوشتبرداری خواهند شد. توجه داشته باشید کهsftpهنگام انجام انتقالهای بازگشتی، پیوندهای نمادین را دنبال نمیکند. help- نمایش متن راهنما.
lcd[path]- تغییر دایرکتوری محلی به path. اگر path مشخص نشده باشد، دایرکتوری به پوشهٔ خانگی کاربر محلی تغییر میکند.
lls[ls-options [path]]- نمایش فهرست دایرکتوری محلی برای path یا دایرکتوری کنونی در صورتی که path مشخص نشده باشد. آرگومان ls-options میتواند شامل هر پرچمی باشد که توسط دستور ls(1) در سیستم محلی پشتیبانی میشود. مسیر path میتواند شامل نویسههای الگوی glob(7) باشد و ممکن است با چند پرونده تطابق یابد.
lmkdirpath- ایجاد دایرکتوری محلی مشخصشده توسط path.
ln[-s] oldpath newpath- ایجاد یک
پیوند از
oldpath به
newpath. اگر
پرچم
-sمشخص شده باشد، پیوند ایجادشده یک پیوند نمادین (symbolic link) خواهد بود؛ در غیر این صورت یک پیوند سخت (hard link) است. lpwd- چاپ مسیر دایرکتوری کاری محلی.
ls[-1afhlnrSt] [path]- نمایش
فهرست
دایرکتوری
راه دور
برای path
یا
دایرکتوری
کنونی در
صورتی که
path مشخص
نشده باشد.
مسیر path
میتواند
شامل
نویسههای
الگوی
glob(7)
باشد و ممکن
است با چند
پرونده
مطابقت
پیدا کند.
پرچمهای زیر پشتیبانی میشوند و رفتار
lsرا بر این اساس تغییر میدهند:-1- تولید خروجی تکستونی.
-a- فهرست کردن پروندههایی که با یک نقطه (‘.’) آغاز میشوند.
-f- مرتب نکردن فهرست. ترتیب مرتبسازی پیشفرض بر اساس الفبا (lexicographical) است.
-h- در صورت استفاده با گزینه قالببندی طولانی، از پسوندهای واحد استفاده میکند: بایت، کیلوبایت، مگابایت، گیگابایت، ترابایت، پتابایت و اگزابایت تا با استفاده از توانهای ۲ برای اندازهها (K=1024, M=1048576 و غیره) تعداد ارقام را به چهار رقم یا کمتر کاهش دهد.
-l- نمایش جزئیات بیشتر شامل اطلاعات مجوزها و مالکیت.
-n- تولید یک فهرست طولانی با نمایش عددی اطلاعات کاربر و گروه.
-r- معکوس کردن ترتیب مرتبسازی فهرست.
-S- مرتبسازی فهرست بر اساس اندازه پرونده.
-t- مرتبسازی فهرست بر اساس زمان آخرین تغییر.
lumaskumask- تنظیم umask محلی به umask.
mkdirpath- ایجاد دایرکتوری راه دور مشخصشده توسط path.
progress- تغییر وضعیت نمایش نوار سنجش پیشرفت.
put[-afpR] local-path [remote-path]- بارگذاری
local-path و
ذخیره آن
روی رایانه
راه دور.
اگر نام
مسیر راه
دور مشخص
نشده باشد،
همان نامی
را میگیرد
که در
رایانه
محلی دارد.
مسیر local-path
میتواند
شامل
نویسههای
glob(7)
باشد و ممکن
است با چند
پرونده
مطابقت
یابد. اگر
چنین باشد و
remote-path مشخص
شده باشد،
آنگاه remote-path
باید یک
پوشه را
مشخص کند.
اگر پرچم
-aمشخص شده باشد، تلاش میشود تا انتقالهای ناقص پروندههای موجود از سر گرفته شود. توجه داشته باشید که ازسرگیری فرض میکند هرگونه رونوشت ناقص از پرونده راه دور با نسخه محلی همخوانی دارد. اگر محتوای پرونده محلی با نسخه ناقص راه دور مغایرت داشته باشد، پرونده نهایی احتمالاً خراب خواهد شد.اگر پرچم
-fمشخص شده باشد، درخواستی به سرور ارسال میشود تا پس از انتقال پرونده، fsync(2) را فراخوانی کند. توجه داشته باشید که این ویژگی تنها توسط سرورهایی پشتیبانی میشود که افزونهٔ "fsync@openssh.com" را پیادهسازی کرده باشند.اگر پرچم
-pمشخص شده باشد، تمام مجوزها و زمانهای دسترسی پرونده نیز رونوشتبرداری میشوند.اگر پرچم
-Rمشخص شده باشد، دایرکتوریها به صورت بازگشتی رونوشتبرداری خواهند شد. توجه داشته باشید کهsftpهنگام انجام انتقالهای بازگشتی، پیوندهای نمادین را دنبال نمیکند. pwd- نمایش مسیر دایرکتوری کاری راه دور.
quit- خروج از
sftp. reget[-fpR] remote-path [local-path]- ازسرگیری
بارگیری
پروندهٔ
remote-path.
معادل با
getبا تنظیم بودن پرچم-a. reput[-fpR] local-path [remote-path]- ازسرگیری
بارگذاری
پروندهٔ
local-path. معادل
با
putبا تنظیم بودن پرچم-a. renameoldpath newpath- تغییر نام پرونده راه دور از oldpath به newpath.
rmpath- حذف پرونده راه دور مشخصشده توسط path.
rmdirpath- حذف دایرکتوری راه دور مشخصشده توسط path.
symlinkoldpath newpath- ایجاد یک پیوند نمادین از oldpath به newpath.
version- نمایش
نگارش
پروتکل
sftp. !command- اجرای command در پوستهٔ محلی.
!- ورود به پوستهٔ محلی.
?- مترادف برای راهنما (help).
همچنین ببینید (SEE ALSO)
ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), glob(7), sftp-server(8), sshd(8) T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-filexfer-00.txt, January 2001, work in progress material.
| December 6, 2024 | Linux 6.12.107+deb13-amd64 |