كتيبات سطر الأوامر

Man » دليل sftp عبر الإنترنت - توثيق مفصل عبر الإنترنت لصفحة دليل sftp

🌍
sftp — برنامج OpenSSH لنقل الملفات بشكل آمن

ملخص

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

الوصف

sftp هو برنامج لنقل الملفات، مشابه لـ ftp(1)، حيث يقوم بتنفيذ جميع العمليات عبر اتصال ssh(1) مشفر. يمكنه أيضًا استخدام العديد من ميزات ssh، مثل المصادقة باستخدام المفتاح العام والضغط.

يمكن تحديد الوجهة إما كـ [user@]host[:path] أو كـ URI بالصيغة: sftp://[user@]host[:port][/path].

إذا كانت الوجهة تتضمن مسارًا ولم يكن دليلًا، فسيقوم sftp باسترجاع الملفات تلقائيًا إذا تم استخدام طريقة مصادقة غير تفاعلية؛ وإلا فإنه سيفعل ذلك بعد المصادقة التفاعلية الناجحة.

إذا لم يتم تحديد مسار، أو إذا كان المسار دليلًا، فسوف يقوم sftp بتسجيل الدخول إلى المضيف المحدد ودخول وضع الأوامر التفاعلي، والانتقال إلى الدليل البعيد إذا تم تحديده. يمكن استخدام شرطة مائلة في النهاية لاجبار المسار على تفسيره كدليل.

نظرًا لأن تنسيقات الوجهة تستخدم أحرف النقطتين لفصل أسماء المضيفين عن أسماء المسارات أو أرقام المنافذ، فيجب وضع عناوين IPv6 بين قوسين لتجنب الغموض.

الخيارات هي كما يلي:

-4 يجبر sftp على استخدام عناوين IPv4 فقط.

-6 يجبر sftp على استخدام عناوين IPv6 فقط.

-A يسمح بتمرير ssh-agent(1) إلى النظام البعيد. الافتراضي هو عدم تمرير وكيل المصادقة.

-a يحاول الاستمرار في عمليات النقل المتقطعة بدلاً من الكتابة فوق النسخ الجزئية أو الكاملة الموجودة من الملفات. إذا كانت المحتويات الجزئية مختلفة عن تلك التي يتم نقلها،
فمن المحتمل أن يكون الملف الناتج تالفًا.

-B buffer_size

يحدد حجم المخزن المؤقت الذي يستخدمه sftp عند نقل الملفات. تتطلب المخازن المؤقتة الأكبر عددًا أقل من الرحلات ذهابًا وإيابًا على حساب استهلاك أكبر للذاكرة. القيمة الافتراضية هي 32768 بايت.

-b batchfile

يقرأ وضع الدُفعة سلسلة من الأوامر من ملف الإدخال الدفعي بدلاً من stdin. نظرًا لأنه يفتقر إلى التفاعل مع المستخدم، فيجب استخدامه بالتزامن مع المصادقة غير التفاعلية لتجنب الحاجة إلى إدخال كلمة مرور في وقت الاتصال (انظر sshd(8) و ssh-keygen(1) للحصول على التفاصيل).

يمكن استخدام ملف دفعي من نوع '-' للإشارة إلى الإدخال القياسي. سينتهي sftp إذا فشل أي من
الأوامر التالية: get، و put، و reget، و reput، و rename، و ln، و rm، و mkdir، و chdir، و ls،
و lchdir، و copy، و cp، و chmod، و chown، و chgrp، و lpwd، و df، و symlink، و lmkdir.

يمكن تعطيل إنهاء البرنامج عند حدوث خطأ على أساس كل أمر على حدة عن طريق إضافة حرف ‘-’ في بداية الأمر (على سبيل المثال، ‎-rm /tmp/blah*). يمكن منع عرض الأمر على الشاشة عن طريق إضافة حرف ‘@’ في بداية الأمر. يمكن دمج هاتين العلامتين بأي ترتيب، على سبيل المثال ‎-@ls /bsd.

-C  يمكّن الضغط (عن طريق علامة ‎-C في ssh).

-c cipher

يحدد طريقة التشفير المستخدمة لتشفير عمليات نقل البيانات. يتم تمرير هذا الخيار مباشرة إلى ssh(1).

-D sftp_server_command

يتصل مباشرة بخادم sftp محلي (بدلاً من الاتصال عبر ssh(1)). يمكن تحديد أمر وحجج، على سبيل المثال "/path/sftp-server -el debug3". قد يكون هذا الخيار مفيدًا في تصحيح أخطاء العميل والخادم.

-F ssh_config

يحدد ملف تكوين بديل خاص بالمستخدم لـ ssh(1). يتم تمرير هذا الخيار مباشرة إلى ssh(1).

-f  يطلب أن يتم مسح الملفات إلى القرص فورًا بعد نقلها. عند تحميل الملفات، يتم تمكين هذه الميزة فقط إذا كان الخادم يدعم الامتداد "_".

-i identity_file

يحدد الملف الذي يتم قراءة الهوية (المفتاح الخاص) المستخدمة للمصادقة باستخدام المفتاح العام منه. يتم تمرير هذا الخيار مباشرة إلى ssh(1).

-J destination

يتصل بالخادم الهدف عن طريق إجراء اتصال sftp أولاً بخادم وسيط (jump host) المحدد بواسطة destination، ثم إنشاء إعادة توجيه TCP إلى الوجهة النهائية من هناك. يمكن تحديد عمليات انتقال متعددة مفصولة بفواصل. هذا هو اختصار لتحديد توجيه ProxyJump. يتم تمرير هذا الخيار مباشرة إلى ssh(1).

-l limit

يحدد النطاق الترددي المستخدم، بوحدة Kbit/s.

-N  يعطّل الوضع الصامت، على سبيل المثال، لإلغاء الوضع الصامت الضمني الذي تم تعيينه بواسطة العلامة ‎-b.

-o ssh_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

-P port

يحدد المنفذ الذي سيتم الاتصال به على المضيف البعيد.

-p

يحافظ على أوقات التعديل وأوقات الوصول والأوضاع من الملفات الأصلية التي تم نقلها.

-q

وضع هادئ: يعطل مؤشر التقدم بالإضافة إلى رسائل التحذير والتشخيص من ssh(1).

-R num_requests

يحدد عدد الطلبات التي يمكن أن تكون قيد التنفيذ في أي وقت. قد يؤدي زيادة هذا إلى تحسين طفيف في سرعة نقل الملف، ولكنه سيزيد من استخدام الذاكرة. القيمة الافتراضية هي 64 طلبًا قيد التنفيذ.

-r

ينسخ بشكل متكرر الدلائل بأكملها عند التحميل والتنزيل. لاحظ أن sftp لا يتبع الروابط الرمزية التي تمت مصادفتها في اجتياز الشجرة.

-S program

اسم البرنامج الذي سيتم استخدامه للاتصال المشفر. يجب أن يفهم البرنامج خيارات ssh(1).

-s subsystem | sftp_server

يحدد النظام الفرعي SSH2 أو المسار لخادم sftp على المضيف البعيد. يكون المسار مفيدًا عندما لا يكون لدى sshd(8) البعيد نظام فرعي sftp مُكوَّنًا.

-v

يرفع مستوى التسجيل. يتم أيضًا تمرير هذا الخيار إلى ssh.

-X sftp_option

يحدد خيارًا يتحكم في جوانب سلوك بروتوكول SFTP. الخيارات الصالحة هي:

nrequests=value

يتحكم في عدد طلبات القراءة أو الكتابة المتزامنة لـ SFTP التي يمكن أن تكون قيد التقدم في أي وقت أثناء التنزيل أو التحميل. افتراضيًا، يمكن أن تكون هناك 64 طلبًا نشطًا في وقت واحد.

buffer=value

يتحكم في الحد الأقصى لحجم المخزن المؤقت لعملية قراءة/كتابة واحدة لـ SFTP تستخدم أثناء التنزيل أو التحميل. افتراضيًا، يتم استخدام مخزن مؤقت بحجم 32 كيلوبايت.

أوامر تفاعلية

بمجرد الدخول في الوضع التفاعلي، يفهم sftp مجموعة من الأوامر المشابهة لتلك الموجودة في ftp(1). الأوامر غير حساسة لحالة الأحرف. يجب وضع المسارات التي تحتوي على مسافات بين علامتي اقتباس. يجب إلغاء أي أحرف خاصة موجودة في المسارات والتي تتعرف عليها glob(3) باستخدام شرطة مائلة للخلف (‘\’).

bye

يخرج من sftp.

cd [path]

يغير الدليل البعيد إلى المسار المحدد. إذا لم يتم تحديد المسار، فإنه يغير الدليل إلى الدليل الذي بدأت فيه الجلسة.


chgrp [-h] grp path
تغيير مجموعة ملف المسار إلى grp. يمكن أن يحتوي path على أحرف glob(7) وقد يطابق ملفات متعددة. يجب أن يكون grp هو GID رقمي.

إذا تم تحديد العلامة -h، فلن يتم تتبع الروابط الرمزية. لاحظ أن هذا مدعوم فقط بواسطة الخوادم التي تنفذ الامتداد "_".

chmod [-h] mode path
تغيير أذونات ملف المسار إلى mode. يمكن أن يحتوي path على أحرف glob(7) وقد يطابق ملفات متعددة.

إذا تم تحديد العلامة -h، فلن يتم تتبع الروابط الرمزية. لاحظ أن هذا مدعوم فقط بواسطة الخوادم التي تنفذ الامتداد "_".

chown [-h] own path
تغيير مالك ملف المسار إلى own. يمكن أن يحتوي path على أحرف glob(7) وقد يطابق ملفات متعددة. يجب أن يكون own هو UID رقمي.

إذا تم تحديد العلامة -h، فلن يتم تتبع الروابط الرمزية. لاحظ أن هذا مدعوم فقط بواسطة الخوادم التي تنفذ الامتداد "_".

copy oldpath newpath
نسخ ملف بعيد من oldpath إلى newpath.

لاحظ أن هذا مدعوم فقط بواسطة الخوادم التي تنفذ امتداد "copy-data".

cp oldpath newpath
اسم مستعار لأمر copy.

df [-hi] [path]
عرض معلومات الاستخدام لنظام الملفات الذي يحتوي على الدليل الحالي (أو path إذا تم تحديده). إذا تم تحديد العلامة -h، فسيتم عرض معلومات السعة باستخدام لاحقات "قابلة للقراءة". تطلب العلامة -i عرض معلومات inode بالإضافة إلى معلومات السعة. هذا الأمر مدعوم فقط على الخوادم التي تنفذ الامتداد "_".

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]({filename}../../ls)(1) في النظام المحلي. يمكن أن يحتوي path على أحرف glob(7) وقد يطابق ملفات متعددة.

lmkdir path
أنشئ دليلًا محليًا بالمسار المحدد.

ln [-s] oldpath newpath
أنشئ رابطًا من oldpath إلى newpath. إذا تم تحديد العلامة -s، يكون الرابط الذي تم إنشاؤه رابطًا رمزيًا، وإلا فهو رابط ثابت.

lpwd
اعرض الدليل العامل المحلي.

ls [-1afhlnrSt] [path]
اعرض قائمة دليل عن بُعد، إما للمسار المحدد أو للدليل الحالي إذا لم يتم تحديد المسار. يمكن أن يحتوي المسار على أحرف glob(7) ويمكن أن يطابق ملفات متعددة.

تُعرّف العلامات التالية وتغير سلوك الأمر ls وفقًا لذلك:

-1  أنتج إخراجًا عموديًا واحدًا.

-a  اعرض الملفات التي تبدأ بنقطة ('.").

-f  لا تقم بفرز القائمة. يكون ترتيب الفرز الافتراضي ترتيبًا معجميًا.

-h  عند استخدامه مع خيار التنسيق الطويل، استخدم لاحقات الوحدات: بايت، كيلوبايت، ميجابايت، جيجابايت، تيرابايت، بيتابايت وإكسابايت من أجل تقليل عدد الأرقام إلى أربعة أو أقل باستخدام قوى العدد 2 للأحجام (K=1024، M=1048576، إلخ.).

-l  اعرض تفاصيل إضافية بما في ذلك معلومات الأذونات والملكية.

-n  أنتج قائمة طويلة مع تقديم معلومات المستخدم والمجموعة رقميًا.

-r  اعكس ترتيب فرز القائمة.

-S  فرز القائمة حسب حجم الملف.

-t  فرز القائمة حسب وقت آخر تعديل.

lumask umask
عيّن umask المحلي إلى umask.

mkdir path
أنشئ دليلًا عن بُعد بالمسار المحدد.

progress
قم بتبديل عرض مقياس التقدم.

put [-afpR] local-path [remote-path]
قم بتحميل local-path وتخزينه على الجهاز البعيد. إذا لم يتم تحديد اسم المسار البعيد، فسيتم إعطاؤه نفس الاسم الذي له على الجهاز المحلي. يمكن أن يحتوي local-path على أحرف glob(7) ويمكن أن يطابق ملفات متعددة. إذا كان الأمر كذلك وتم تحديد remote-path، فيجب أن يحدد remote-path دليلًا.

إذا تم تحديد العلامة -a، فحاول استئناف عمليات النقل الجزئية للملفات الموجودة.
لاحظ أن الاستئناف يفترض أن أي نسخة جزئية من الملف البعيد تطابق النسخة المحلية. إذا كانت محتويات الملف المحلي مختلفة عن النسخة المحلية البعيدة، فمن المحتمل أن يكون الملف الناتج تالفًا.

إذا تم تحديد العلامة -f، فسيتم إرسال طلب إلى الخادم لاستدعاء fsync(2) بعد نقل الملف. لاحظ أن هذا مدعوم فقط بواسطة الخوادم التي تنفذ الامتداد "_".

إذا تم تحديد العلامة -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.

rename oldpath newpath

أعد تسمية الملف البعيد من oldpath إلى newpath.

rm path

احذف الملف البعيد المحدد بواسطة path.

rmdir path

أزل الدليل البعيد المحدد بواسطة path.

symlink oldpath newpath

أنشئ رابطًا رمزيًا من oldpath إلى newpath.

version

اعرض إصدار بروتوكول sftp.

!command

نفذ أمرًا في shell المحلي.

!       انتقل إلى shell المحلي.

?       مرادف لـ help.

انظر أيضًا

ftp(1)، ls(1)، scp(1)، ssh(1)، ssh-add(1)، ssh-keygen(1)، ssh_config(5)، glob(7)، sftp-server(8)، sshd(8)

ت. يلونن و س. ليتينن، بروتوكول نقل الملفات SSH، مسودة-ietf-secsh-filexfer-00.txt، يناير
2001، مادة قيد التطوير.