SFTP-এর মাধ্যমে ফাইল স্থানান্তর
WinSCP, FileZilla, বিল্ট-ইন sftp ক্লায়েন্ট এবং macOS Finder দিয়ে সার্ভারে ফাইল আপলোড ও ডাউনলোড করবেন কীভাবে, SFTP-কে সাধারণ FTP-এর সাথে গুলিয়ে না ফেলে।
আপডেট: ২৩ আগস্ট, ২০২৬
SFTP হলো একই SSH সংযোগের মাধ্যমে ফাইল ট্রান্সফার। আলাদা সার্ভার সেটআপ করার দরকার নেই: ssh কাজ করলে SFTP-ও কাজ করবে।
গ্রাফিক্যাল ক্লায়েন্টে সংযোগ করা
WinSCP, FileZilla এবং Cyberduck-এর জন্য সেটিংস একই:
| ফিল্ড | মান |
|---|---|
| প্রোটোকল | SFTP (FTP নয় এবং FTPS নয়) |
| হোস্ট | “Overview” ট্যাব থেকে মেশিনের ঠিকানা |
| পোর্ট | 22 |
| ইউজার | root অথবা আপনার নিজের ইউজার |
| পাসওয়ার্ড | “Access” ট্যাব থেকে root পাসওয়ার্ড |
| কী | প্রাইভেট কী-এর পাথ, যদি পাসওয়ার্ড লগইন বন্ধ থাকে |
WinSCP শুধু .ppk ফরম্যাটের কী গ্রহণ করে — রূপান্তরের কথা PuTTY নিয়ে লেখায় বর্ণনা করা আছে। FileZilla সাধারণ OpenSSH কী-ও পড়তে পারে।
পোর্ট 21 এবং “সাধারণ FTP” মেশিনে কাজ করে না এবং সেগুলো সেটআপ করার দরকারও নেই: FTP পাসওয়ার্ড প্লেইন টেক্সটে পাঠায়। সবসময় SFTP বেছে নিন।
কমান্ড-লাইন ক্লায়েন্ট
Windows, macOS এবং Linux-এ বিল্ট-ইন:
sftp root@203.0.113.10
ভিতরে সাধারণ কমান্ডগুলো ব্যবহার করা যায়:
ls
cd /var/www
lcd C:\work
put index.html
put -r ./site
get /var/log/nginx/error.log
bye
put মেশিনে পাঠায়, get আপনার কম্পিউটারে ফাইল নামায়, আর l দিয়ে শুরু হওয়া কমান্ড (lcd, lls) আপনার নিজের কম্পিউটারের সাথে কাজ করে।
যদি আপনি ~/.ssh/config ফাইল সেটআপ করে থাকেন, তাহলে sftp vds-ই যথেষ্ট।
ফাইল ম্যানেজারে macOS এবং Linux
Finder-এ: Go → Connect to Server → sftp://root@203.0.113.10। GNOME Files-এ “Other Locations” ফিল্ডে ঠিকানা লিখুন। মেশিনের ডিরেক্টরি একটি নেটওয়ার্ক ফোল্ডার হিসেবে খুলবে।
নিয়মিত কাজের জন্য ডিরেক্টরিটিকে লোকাল ডিরেক্টরি হিসেবে মাউন্ট করা বেশি সুবিধাজনক:
sshfs root@203.0.113.10:/var/www /mnt/vds
ফাইল কোথায় রাখবেন
| কী | কোথায় |
|---|---|
| ওয়েবসাইট | /var/www/<domain> |
| অ্যাপ্লিকেশন বা বট | /opt/<name> |
| ব্যক্তিগত ফাইল | ইউজারের হোম ডিরেক্টরি |
| সাময়িক | /tmp (রিবুটে মুছে যায়) |
আপলোডের পরে প্রায়ই মালিকানা সেট করতে হয়, নাহলে ওয়েব সার্ভার 403 পাবে:
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com
সাধারণ ত্রুটি
| লক্ষণ | কারণ |
|---|---|
লেখার সময় Permission denied | ডিরেক্টরিটি অন্য ইউজারের, আর আপনি root হিসেবে লগইন করেননি |
| ক্লায়েন্ট সংযোগ করছে না, কিন্তু SSH কাজ করছে | সেটিংসে SFTP-এর বদলে FTP নির্বাচন করা হয়েছে, অথবা পোর্ট 21 দেওয়া হয়েছে |
| আপলোড সফল হয়েছে, কিন্তু সাইট ফাইলগুলো দেখছে না | ভুল ডিরেক্টরি, অথবা মালিকানা সেট করা হয়নি |
| বড় ফাইলে সংযোগ কেটে যায় | ক্লায়েন্টে keepalive চালু করুন; বড় আপলোডের জন্য rsync ব্যবহার করুন — এটি রিজিউম করতে পারে |
| রুশ ফাইলের নাম নষ্ট হয় | ক্লায়েন্ট সেটিংসে UTF-8 এনকোডিং সেট করুন |
কখন SFTP সেরা পছন্দ নয়
শত শত ছোট ফাইল এবং বারবার ডিপ্লয়মেন্টের জন্য rsync দ্রুততর: এটি শুধু পরিবর্তনগুলো ট্রান্সফার করে। একটি ফাইলের জন্য scp সহজ। দুটি কমান্ডই scp এবং rsync লেখায় বর্ণনা করা আছে।