انتقال فایلها و پوشهها از ویندوز به لینوکس با WinSCP
چکیده
این راهنمای جامع، گامبهگام و سئو شده توضیح میدهد چگونه با استفاده از WinSCP فایلها و پوشهها را از ویندوز به لینوکس منتقل کنید. شامل نصب و پیکربندی SSH در لینوکس، نصب WinSCP در ویندوز، اتصال با رمز عبور و کلید خصوصی، روشهای انتقال (گذراندن درگانددراپ، همگامسازی، خط فرمان)، نکات امنیتی، رفع اشکال متداول و بهترین روشها برای عملکرد و اتوماسیون است.
فهرست مطالب
مقدمه و مزایا
پیشنیازها
نصب و فعالسازی SSH در لینوکس
نصب و پیکربندی WinSCP در ویندوز
اتصال اولیه با رمز عبور (SFTP/SCP)
اتصال امن با کلید خصوصی (SSH key)
انتقال فایلها و پوشهها — روشها و نکات عملی
همگامسازی پوشهها و تنظیمات خودکار
اسکریپتنویسی و اتوماسیون انتقال با WinSCP
تنظیمات پیشرفته و بهینهسازی سرعت
امنیت و بهترین شیوهها
رفع اشکال متداول
نتیجهگیری و منابع پیشنهادی
مقدمه و مزایا
WinSCP یک کلاینت گرافیکی قدرتمند برای انتقال فایل بین ویندوز و سرورهای لینوکسی است. مزایا: رابط کاربری آسان، پشتیبانی از SFTP/SCP/FTP/WebDAV، رمزگذاری ارتباط، همگامسازی خودکار پوشهها، پشتیبانی از کلیدهای SSH و امکان اجرای دستورات از پنجرهی ترمینال. این راهنما برای کاربران مبتدی تا پیشرفته مفید است.
پیشنیازها
– سرور لینوکس با SSH فعال و دسترسی (IP/نام دامنه).
– حساب کاربری روی سرور لینوکس (نام کاربری و رمز عبور یا کلید SSH).
– ویندوز با WinSCP نصبشده (نسخه پایدار اخیر).
– دسترسی شبکه (پورت 22 باز/فوروارد شده بین دو دستگاه).
– (اختیاری) PuTTY/ssh-keygen برای تولید کلیدهای SSH روی ویندوز.
نصب و فعالسازی SSH در لینوکس
نصب OpenSSH (Debian/Ubuntu)
بهروزرسانی مخازن:
sudo apt update
نصب OpenSSH server:
sudo apt install openssh-server -y
بررسی وضعیت:
sudo systemctl status ssh
فعالسازی سرویس برای اجرا در بوت:
sudo systemctl enable ssh
نصب در RHEL/CentOS/Fedora
sudo dnf install openssh-server -y sudo systemctl enable --now sshd sudo systemctl status sshd
تنظیمات پایه در /etc/ssh/sshd_config
- پورت پیشفرض: 22 (در صورت نیاز برای امنیت میتوانید آن را تغییر دهید). - PermitRootLogin را روی no قرار دهید. - PasswordAuthentication: yes/no بسته به استفاده از کلید.
– پس از ویرایش:
sudo systemctl restart sshd
بررسی اتصال از ویندوز (پینگ/تست پورت)
– پینگ آدرس سرور:
ping <server_ip>
– تست پورت با PowerShell:
Test-NetConnection -ComputerName <server_ip> -Port 22
نصب و پیکربندی WinSCP در ویندوز
دانلود آخرین نسخه از سایت رسمی WinSCP و نصب.
هنگام نصب، گزینهٔ “Commander” (دوپنجرهای) یا “Explorer” را انتخاب کنید — توصیه: Commander برای کار با سرورها.
اجرای WinSCP و پر کردن فرم اتصال:
– File protocol: SFTP (توصیه) یا SCP
– Host name: آدرس IP یا دامنه سرور
– Port number: معمولاً 22
– User name و Password یا تنظیم کلید خصوصی
ذخیرهٔ نشست (Save) برای استفادههای بعدی.
تنظیمات پیشرفته (Advanced):
– SSH > Authentication: مسیر کلید خصوصی (Private key file) در صورت استفاده از کلید.
– Environment > Directories: تنظیم فولدرهای محلی و راه دور در هنگام باز شدن نشست.
– Transfer > Background transfer: فعال/غیرفعال کردن انتقال در پسزمینه.


اتصال اولیه با رمز عبور (SFTP/SCP)
انتخاب پروتکل SFTP در لیست.
وارد کردن آدرس، کاربر و رمز عبور.
کلیک روی Login — در صورت اتصال موفق، دو پنجره نمایش داده میشود (چپ: محلی، راست: راه دور).

انتقال فایلها: کشیدن و رها کردن، یا راستکلیک و Upload/Download.
مجوز فایلها: پس از انتقال با دستور chmod در ترمینال سرور تنظیم کنید:
chmod 644 /path/to/file chmod 755 /path/to/directory
اتصال امن با کلید خصوصی (SSH key)
تولید کلید با PuTTYgen (ویندوز)
اجرای PuTTYgen → Generate → حرکت دادن موس برای تولید رندوم.
ذخیرهٔ Private key (.ppk) و کپی Public key.
در سرور لینوکس، کلید عمومی را به فایل ~/.ssh/authorized_keys اضافه کنید:
mkdir -p ~/.ssh echo "ssh-rsa AAAA... user@host" >> ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
استفاده از کلید در WinSCP
در Login → Advanced → SSH → Authentication → Private key file: انتخاب فایل .ppk.
Login — اتصال بدون نیاز به رمز عبور انجام میشود (در صورت فعال بودن PasswordAuthentication=no).
تبدیل کلید OpenSSH به PuTTY (.ppk) و بالعکس
– اگر کلید در فرم OpenSSH دارید، PuTTYgen میتواند آن را بارگذاری و ذخیره کند.
– برای تبدیل .ppk به OpenSSH (برای استفاده در سرور) از PuTTYgen یا ابزارهای خط فرمان استفاده کنید.
انتقال فایلها و پوشهها — روشها و نکات عملی
روشهای انتقال
– درگانددراپ: سادهترین روش؛ فایل را از پنجره محلی به پنجره راه دور بکشید.
– Upload via context menu: راستکلیک → Upload.

– کشیدن پوشهها: WinSCP بهطور پیشفرض پوشهها را بازگشتی ارسال میکند.

– چندفایل: انتخاب چند فایل با Ctrl/Shift و کشیدن.
– Resume interrupted transfers: WinSCP قابلیت تکرار/ادامه دارد.

تنظیم مجوزها پس از انتقال
– گزینه در Transfer settings → Set permissions: تنظیم خودکار مجوزها هنگام آپلود.
– یا با اجرای chmod روی سرور.
انتقال فایلهای بزرگ
– تنظیم Transfer > Partially transfer large files: فعال کردن resume.
– فضای دیسک و محدودیت quota را بررسی کنید: df -h
حفظ مالکیت و زمانبندیها
– WinSCP میتواند timestamp فایل را حفظ کند (Preserve timestamp).
– مالکیت (owner/group) معمولاً به مالک حساب کاربری آپلودکننده تغییر میکند مگر اینکه از root استفاده شود.

همگامسازی پوشهها و تنظیمات خودکار
همگامسازی دوطرفه یا یکطرفه
– Commands > Synchronize: انتخاب Local → Remote یا Remote → Local.
– گزینهها: موردمطالعه: file mask، comparison method (time/size)، حذف فایلها (mirror).
زمانبندی همگامسازی
– از WinSCP scripting بههمراه Task Scheduler ویندوز استفاده کنید تا همگامسازی منظم انجام شود.
مثال اسکریپت ساده:
open sftp://user:password@host/ -hostkey="ssh-rsa 2048 xx:xx:..." synchronize remote "C:\local\folder" "/remote/folder" exit
– ذخیره در فایل .txt و اجرای WinSCP.com با Task Scheduler.
اسکریپتنویسی و اتوماسیون انتقال با WinSCP
فایل اسکریپت نمونه
option batch on option confirm off open sftp://user:password@example.com/ -hostkey="ssh-rsa 2048 xx:xx:..." put -delete "C:\local\folder\*" /remote/folder/ exit
– دستور put برای آپلود، get برای دانلود، synchronize برای همگامسازی.
– اجرای اسکریپت:
winscp.com /script=script.txt
استفاده از نسخه CLI برای اتوماسیون امنتر
– از فایلهای کنفیگ یا متغیرهای محیطی استفاده کنید؛ از نگهداری پسورد در اسکریپت خودداری کنید و از کلید خصوصی استفاده نمایید.
– مثال با کلید خصوصی:
open sftp://user@example.com/ -privatekey="C:\keys\private.ppk" -hostkey="ssh-rsa 2048 xx:xx:..."
تنظیمات پیشرفته و بهینهسازی سرعت
– تغییر تعداد کانکشنها یا استفاده از فشردهسازی SSH (اگر CPU سرور اجازه دهد).
– انتقال موازی (Background transfers) برای چند فایل همزمان.
– محدود کردن پهنای باند در Transfer settings → Speed limits.
– استفاده از SCP در شبکههای با تاخیر کم و SFTP در شبکههای ناامنتر.
امنیت و بهترین شیوهها
– همیشه SFTP یا SCP را بهجای FTP استفاده کنید.
– استفاده از کلیدهای SSH با passphrase و محافظت از کلید خصوصی.
– غیرفعال کردن Login با root و استفاده از sudo.
– تغییر پورت SSH جزئی از امنیت است اما جایگزینی برای فایروال/قفل کردن نیست.
– تنظیم فایروال (ufw/firewalld) برای مجوز فقط IPهای مورد نیاز و پورت 22 یا پورتی که استفاده میکنید.
– نصب fail2ban برای جلوگیری از حملات brute-force.
رفع اشکال متداول
– اتصال رد میشود (Connection refused): SSH فعال نیست یا پورت اشتباه/بلوکه شده.
– زمان انتظار / timeout: بررسی فایروال، وضعیت شبکه، یا کاهش MTU در شبکههای خاص.
– خطای host key mismatch: key تغییر کرده — بررسی کنید آیا سرور تعویض شده یا MITM است، در صورت اطمینان entry را حذف کنید و دوباره اتصال برقرار کنید.
– مجوزهای نادرست پس از آپلود: chmod و chown برای تنظیم صحیح.
– خطای authentication failed: بررسی رمز عبور، کلید خصوصی، و فرمت کلید (ppk vs OpenSSH).
– فایلها آپلود نمیشوند به علت محدودیت فضا: df -h و quota -v
نتیجهگیری و منابع پیشنهادی
WinSCP ابزار قدرتمندی برای انتقال فایل بین ویندوز و لینوکس است که هم برای استفاده دستی و هم برای اتوماسیون مناسب است. ترکیب WinSCP با کلیدهای SSH، اسکریپتها و زمانبندی ویندوز ترکیبی امن و قابل اطمینان برای انتقال منظم فایلها فراهم میکند.
منابع پیشنهادی:
– مستندات رسمی WinSCP
– مستندات OpenSSH
– مقالات مرتبط درباره امنیت SSH و مدیریت کلیدها




قوانین ارسال دیدگاه
لطفاً در ارسال دیدگاه از کلمات مناسب استفاده کنید. ارسال اسپم ممنوع است.