از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از دستور SFTP برای انتقال فایل ها
سرفصلهای مطلب
SFTP (پروتکل انتقال فایل SSH) یک پروتکل فایل امن برای دسترسی، مدیریت و انتقال فایل ها از طریق یک اتصال SSH رمزگذاری شده است.
در مقایسه با پروتکل سنتی FTP، SFTP همان عملکرد اصلی را ارائه می دهد در حالی که به طور قابل توجهی ایمن تر و پیکربندی آسان تر است.
برخلاف SCP که فقط از انتقال فایل پشتیبانی می کند، SFTP از طیف کاملی از عملیات فایل پشتیبانی می کند روی فایل های راه دور، از جمله از سرگیری انتقال های قطع شده.
این راهنما به شما نشان می دهد که چگونه از آن استفاده کنید sftp فرمان روی لینوکس.
پیش نیازها
برای آپلود یا تغییر فایل ها از طریق SFTP، به مجوز نوشتن نیاز دارید روی سیستم از راه دور
برای نقل و انتقالات بزرگ، توصیه می شود که اجرا شود sftp دستور داخل a screen
یا tmux
جلسه برای جلوگیری از وقفه
دایرکتوری که از آن اجرا می کنید sftp دستور، دایرکتوری کاری محلی شما می شود.
اتصال به سرور از راه دور
SFTP کار می کند روی یک مدل مشتری-سرور این زیرسیستم SSH است و از تمام روش های احراز هویت SSH پشتیبانی می کند.
برای اتصال به یک سیستم از راه دور، اجرا کنید sftp دستور به دنبال نام کاربری سرور راه دور و آدرس IP یا نام دامنه:
sftp remote_username@server_ip_or_hostname
اگر در حال اتصال به host با استفاده از احراز هویت رمز عبور، از شما خواسته می شود که رمز عبور کاربر را وارد کنید.
پس از احراز هویت، به شما نمایش داده می شود sftp درخواست کنید، و می توانید تعامل با سرور راه دور را شروع کنید:
Connected to remote_username@server_ip_or_hostname.
sftp>
اگر سرور SSH راه دور گوش کند روی یک پورت غیر استاندارد (به عنوان مثال، 2222)، استفاده کنید -P گزینه ای برای تعیین پورت:
sftp -P 2222 remote_username@server_ip_or_hostname
دستورات اولیه SFTP
اکثر دستورات SFTP مشابه یا یکسان با دستورات پوسته لینوکس هستند.
برای دریافت لیستی از تمام دستورات SFTP موجود، تایپ کنید help، یا ?.
help
خروجی شامل یک لیست طولانی از تمام دستورات موجود، از جمله شرح کوتاهی از هر دستور است:
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
...
...
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
پیمایش دایرکتوری ها با SFTP
هنگامی که به سرور راه دور وارد می شوید، دایرکتوری کاری فعلی شما دایرکتوری اصلی کاربر راه دور است. می توانید با تایپ کردن آن را بررسی کنید:
pwd
Remote working directory: /home/remote_username
برای فهرست کردن فایلها و فهرستهای راه دور، از ls دستور:
ls
برای رفتن به دایرکتوری دیگر، از cd فرمان به عنوان مثال، برای تغییر به /tmp دایرکتوری، شما باید تایپ کنید:
cd /tmp
از دستورات بالا برای پیمایش و کار استفاده می شود روی مکان راه دور
پوسته SFTP همچنین دستوراتی را برای ناوبری محلی، اطلاعات و مدیریت فایل ارائه می کند. دستورات محلی با حرف پیشوند هستند l.
به عنوان مثال، به print دایرکتوری کاری محلی، باید تایپ کنید:
lpwd
Local working directory: /home/local_username
برای فهرست کردن فایل های محلی:
lls
دانلود فایل ها
برای دانلود یک فایل از سرور راه دور، از get دستور:
get filename.zip
خروجی باید چیزی شبیه به این باشد:
Fetching /home/remote_username/filename.zip to filename.zip
/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
هنگام دانلود فایل با sftp، فایل ها در دایرکتوری که از آن تایپ کرده اید دانلود می شوند sftp فرمان
اگر می خواهید فایل دانلود شده را با نام دیگری ذخیره کنید، نام جدید را به عنوان آرگومان دوم مشخص کنید:
get filename.zip local_filename.zip
برای دانلود دایرکتوری از سیستم راه دور، از بازگشتی استفاده کنید -r گزینه:
get -r remote_directory
اگر انتقال فایل با شکست مواجه شد یا قطع شد، میتوانید با استفاده از آن آن را از سر بگیرید reget فرمان
نحو از reget همان نحو است get:
reget filename.zip
آپلود فایل ها
برای آپلود یک فایل از ماشین محلی به سرور SFTP راه دور، از put دستور:
put filename.zip
خروجی باید چیزی شبیه به این باشد:
Uploading filename.zip to /home/remote_username/filename.zip
filename.zip 100% 12MB 1.7MB/s 00:06
اگر فایلی که می خواهید آپلود کنید در دایرکتوری کاری فعلی شما قرار ندارد، از مسیر مطلق فایل استفاده کنید.
هنگام کار با put می توانید از گزینه های مشابهی که در دسترس هستند استفاده کنید get فرمان
برای آپلود یک فهرست محلی، باید تایپ کنید:
put -r locale_directory
برای از سرگیری آپلود قطع شده:
reput filename.zip
دستکاری فایل با SFTP
به طور معمول، برای انجام وظایف روی یک سرور راه دور، شما می توانید از طریق SSH متصل شوید و دستورات خود را در پوسته اجرا کنید. با این حال، در برخی شرایط، کاربر ممکن است فقط دسترسی SFTP (بدون پوسته SSH کامل) به سرور راه دور داشته باشد.
SFTP به شما اجازه می دهد تا برخی از دستورات دستکاری فایل را انجام دهید. در زیر چند نمونه از روش استفاده از پوسته SFTP آورده شده است:
-
اطلاعاتی در مورد استفاده از دیسک سیستم راه دور دریافت کنید:
dfSize Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7% -
یک دایرکتوری جدید ایجاد کنید روی سرور راه دور:
mkdir directory_name -
تغییر نام یک فایل روی سرور راه دور:
rename file_name new_file_name -
یک فایل را حذف کنید روی سرور راه دور:
rm file_name -
یک دایرکتوری را حذف کنید روی سرور راه دور:
rmdir directory_name -
مجوزهای یک فایل را تغییر دهید روی سیستم از راه دور:
chmod 644 file_name -
تغییر مالک یک فایل روی سیستم از راه دور:
chown user_id file_nameشما باید شناسه کاربری را به
chown
وchgrp
دستورات -
مالک گروه یک فایل راه دور را با:
chgrp group_id file_name
قطع شدن
پس از اتمام کار، اتصال را با تایپ کردن ببندید bye یا quit.
bye
quit
نکاتی برای استفاده مکرر
-
یک احراز هویت مبتنی بر کلید SSH تنظیم کنید و بدون وارد کردن رمز عبور به سرورهای لینوکس خود متصل شوید.
-
اگر به طور منظم به همان هاست متصل می شوید، گردش کار خود را با تعریف همه اتصالات خود در فایل پیکربندی SSH ساده کنید.
~/.ssh/configHost myserver_name HostName 10.10.0.2 User leah Port 2222
نتیجه گیری
در این مقاله روش استفاده از آن را به شما نشان داده ایم sftp دستور دانلود و آپلود فایل ها به سرور SFTP راه دور شما.
اگر در حال کار هستید روی یک ماشین دسکتاپ، می توانید از یک کلاینت GUI SFTP مانند استفاده کنید WinSCP
یا FileZilla
برای اتصال به سرور راه دور و دانلود یا آپلود فایل ها.
در صورت داشتن هر گونه سوال یا بازخورد می توانید نظر خود را بنویسید.
terminal
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1404-11-20 15:55:07

