আপনি SFTP ব্যবহার করে ক্লায়েন্ট এবং উইন্ডোজ সার্ভারের মধ্যে একটি নিরাপদ ফাইল স্থানান্তর সংগঠিত করতে Windows এর জন্য অফিসিয়াল OpenSSH প্যাকেজ ব্যবহার করতে পারেন (নিরাপদ FTP ) প্রোটোকল। এই নিবন্ধে, আমরা Windows 10 বা Windows সার্ভার 2016/2012 R2 এ একটি SFTP সার্ভার চালানোর জন্য Win32-OpenSSH কীভাবে ব্যবহার করতে হয় তা দেখাব।
বিষয়বস্তু:
- SFTP কি?
- উইন্ডোজে SFTP বাস্তবায়ন
- Windows 10 1803+/Windows Server 2019-এ Win32 OpenSSH ইনস্টল করা হচ্ছে
- Windows Server 2016/2012 R2 এ Win32 OpenSSH ইনস্টল করুন
- WinSCP ব্যবহার করে SFTP সংযোগ পরীক্ষা করা হচ্ছে
- কিভাবে Win32 OpenSSH আনইনস্টল করবেন?
SFTP কি?
SFTP (নিরাপদ ফাইল ট্রান্সফার প্রোটোকল , নিরাপদ FTP অথবা SSH FTP ) হল SSH প্রোটোকলের এক্সটেনশন, যা UNIX/Linux সিস্টেমের জগতে একটি আদর্শ। ব্যবহারকারীর দৃষ্টিকোণ থেকে, এটি FTP-এর মতোই, কিন্তু প্রকৃতপক্ষে, এটি একটি সম্পূর্ণ ভিন্ন প্রোটোকল, FTP-এর সাথে কোনো মিল নেই। SSH টানেলের (TCP পোর্ট 22) মাধ্যমে ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা স্থানান্তর করা হয়।
SFTP-এর প্রধান সুবিধা:
- ফাইল এবং কমান্ড একটি নিরাপদ SSH সেশনের মধ্যে স্থানান্তরিত হয়;
- ফাইল এবং কমান্ড উভয়ই পাঠাতে একটি সংযোগ ব্যবহার করা হয়;
- সিম্বলিক লিঙ্ক, ইন্টারাপ্ট/রিজুম ট্রান্সফার, ফাইল ডিলিট ফাংশন ইত্যাদি সমর্থিত;
- একটি নিয়ম হিসাবে, যে চ্যানেলগুলিতে FTP ধীর বা ব্যর্থ, সেখানে SFTP সংযোগ দ্রুত এবং আরও নির্ভরযোগ্য;
- এসএসএইচ কী ব্যবহার করে প্রমাণীকরণের সম্ভাবনা।
উইন্ডোজে SFTP বাস্তবায়ন
ঐতিহাসিকভাবে, উইন্ডোজ অপারেশন সিস্টেমগুলি একটি সুরক্ষিত SFTP সার্ভার চালানোর জন্য কোনও অন্তর্নির্মিত সরঞ্জাম সরবরাহ করে না। এই উদ্দেশ্যে, কোর FTP, FileZilla, CYGWIN, OpenSSH, FTP শেল, IPSwitch ইত্যাদির মতো ওপেন-সোর্স বা মালিকানাধীন সমাধানগুলি ব্যবহার করা হয়েছে। যাইহোক, বেশ কয়েক বছর আগে মাইক্রোসফ্ট Win32 এর জন্য OpenSSH পোর্টের সংস্করণ প্রকাশ করেছে। এই প্রকল্পটিকে Win32-OpenSSH বলা হয় .
আসুন Win32 OpenSSH ব্যবহার করে Windows 10 বা Windows সার্ভার 2019/2016/2012 R2 চলমান SFTP সার্ভারের কনফিগারেশন বিবেচনা করি প্যাকেজ
Windows 10 1803+/Windows Server 2019-এ Win32 OpenSSH ইনস্টল করা হচ্ছে
Windows 10 বিল্ড 1803 এবং নতুন এবং Windows Server 2019-এ, OpenSSH প্যাকেজ ইতিমধ্যেই RSAT-এর মতো ফিচার অন ডিমান্ড (FoD) আকারে অপারেটিং সিস্টেমে অন্তর্ভুক্ত করা হয়েছে।
আপনি নিম্নলিখিত PowerShell cmdlet ব্যবহার করে Windows 10 এবং Windows Server 2019-এ OpenSSH সার্ভার ইনস্টল করতে পারেন:
Add-WindowsCapability -Online -Name OpenSSH.Server*
অথবা DISM:dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
ব্যবহার করে
এছাড়াও আপনি Windows 10 GUI (সেটিংস থেকে OpenSSH সার্ভার যোগ করতে পারেন -> অ্যাপস -> ঐচ্ছিক বৈশিষ্ট্য -> একটি বৈশিষ্ট্য যোগ করুন৷ -> SSH সার্ভার খুলুন -> ইনস্টল করুন৷ )।
- OpenSSH এক্সিকিউটেবলগুলি ডিরেক্টরিতে অবস্থিত:
c:\windows\system32\OpenSSH\
; - sshd_config কনফিগারেশন ফাইলটি ডিরেক্টরিতে অবস্থিত:
C:\ProgramData\ssh
(এই ডিরেক্টরিটি sshd পরিষেবার প্রথম শুরুর পরে তৈরি করা হয়); - লগ ফাইল:
c:\windows\system32\OpenSSH\logs\sshd.log
; - অনুমোদিত_কী ফাইল এবং কীগুলি একটি ডিরেক্টরিতে সংরক্ষণ করা হয়:
%USERPROFILE%\.ssh\
.
এখন আপনি লিনাক্সের মত SSH এর মাধ্যমে Windows 10 এর সাথে সংযোগ করতে পারেন।
Windows Server 2016/2012 R2 এ Win32 OpenSSH ইনস্টল করুন
Windows 10 এর পূর্ববর্তী সংস্করণে এবং Windows Server 2016/2012 R2-এ, আপনাকে অবশ্যই GitHub (https://github.com/PowerShell/Win32-OpenSSH/releases) থেকে OpenSSH ডাউনলোড এবং ইনস্টল করতে হবে। আপনাকে Windows x64 এর জন্য একটি প্যাকেজ সংস্করণ ডাউনলোড করতে হবে:OpenSSH-Win64.zip (3,5 MB)।
- আর্কাইভটি লক্ষ্য ডিরেক্টরিতে বের করুন:C:\OpenSSH-Win;
- এলিভেটেড PowerShell cli শুরু করুন এবং OpenSSH ফোল্ডারে স্যুইচ করুন:
Cd C:\OpenSSH-Win
- পাথ এনভায়রনমেন্ট ভেরিয়েবলে OpenSSH ডিরেক্টরিতে পাথ যোগ করুন (সিস্টেম প্রোপার্টি -> অ্যাডভান্সড ট্যাব -> এনভায়রনমেন্ট ভেরিয়েবল -> পাথ নির্বাচন করুন এবং সম্পাদনা করুন সিস্টেম ভেরিয়েবল -> OpenSSH ফোল্ডারে পাথ যোগ করুন);
- OpenSSH সার্ভারটি ইনস্টল করুন:
.\install-sshd.ps1
(একটি সবুজ বার্তা উপস্থিত হওয়া উচিত "sshd এবং ssh-এজেন্ট পরিষেবাগুলি সফলভাবে ইনস্টল করা৷ ”); - সার্ভারের জন্য SSH কী তৈরি করুন (sshd পরিষেবা শুরু করার জন্য প্রয়োজন):
ssh-keygen.exe –A
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
- SSHD পরিষেবার জন্য অটোস্টার্ট সক্ষম করুন এবং নিম্নলিখিত PowerShell পরিষেবা পরিচালনা কমান্ডগুলি ব্যবহার করে এটি শুরু করুন:
Set-Service -Name sshd -StartupType ‘Automatic’
Start-Service sshd
- আপনার কম্পিউটার রিস্টার্ট করুন:
Restart-Computer
- আগত SSH ট্রাফিকের জন্য Windows ফায়ারওয়ালে TCP পোর্ট 22 খুলতে PowerShell ব্যবহার করুন:
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
নোট . পূর্ববর্তী কমান্ড পুরানো ডেস্কটপ উইন্ডোজ সংস্করণে কাজ করবে না। এই ক্ষেত্রে আরেকটি কমান্ড ব্যবহার করা হয়:netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22
- যেকোনো টেক্সট এডিটরে SSHD কনফিগারেশন ফাইল (C:\ProgramData\SSH\sshd_config) খুলুন। সাবসিস্টেম sftp-এর মান খুঁজুন এবং পরীক্ষা করুন নির্দেশ sftp-server.exe ফাইল এখানে উল্লেখ করা উচিত।
AllowGroups corp\sftp_users #
শুধুমাত্র এই ডোমেন গ্রুপের ব্যবহারকারীদের জন্য OpenSSH-এর সাথে সংযোগ করার অনুমতি দিন
AuthenticationMethods password #
পাসওয়ার্ড প্রমাণীকরণ সক্ষম করুন (SSH কী ব্যবহার করা যাবে না)ForceCommand internal-sftp
ChrootDirectory C:\inetpub\wwwroot\ftpfolder #
SFTP ব্যবহারকারীদের জন্য ডিফল্ট ডিরেক্টরি
WinSCP ব্যবহার করে SFTP সংযোগ পরীক্ষা করা হচ্ছে
আসুন SFTP প্রোটোকল ব্যবহার করে তৈরি SSH সার্ভারের সাথে সংযোগ করার চেষ্টা করি। এটি করতে, একটি বিনামূল্যে WinSCP ব্যবহার করুন ক্লায়েন্ট।
সংযোগ কনফিগারেশন উইন্ডোতে, SFTP নির্বাচন করুন ফাইল ট্রান্সফার প্রোটোকল হিসাবে, সার্ভারের নাম এবং উইন্ডোজ অ্যাকাউন্টের প্রমাণপত্র নির্দিষ্ট করুন, যা সংযোগের জন্য ব্যবহৃত হয় (এটি কী প্রমাণীকরণ কনফিগার করাও সম্ভব)।
আপনি যখন প্রথমবার সংযোগ করার চেষ্টা করেন, তখন স্থানীয় ক্যাশে পাওয়া হোস্ট কীটির নিম্নলিখিত বিজ্ঞপ্তিটি উপস্থিত হয়।
সবকিছু সঠিকভাবে কনফিগার করা থাকলে, একটি ক্লায়েন্ট SFTP সার্ভারের সাথে সংযুক্ত হবে এবং ব্যবহারকারীর হোম ডিরেক্টরিতে ফাইলগুলির তালিকা প্রদর্শন করবে (ডিফল্টরূপে, এটি ব্যবহারকারীর প্রোফাইলের সাথে ডিরেক্টরি)।
পরিচিত ফাইল ম্যানেজার ইন্টারফেস ব্যবহার করে (যেমন টোটাল কমান্ডার ), আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে ফাইল কপি করতে পারেন। নিরাপদ SFTP ব্যবহার করে ফাইল স্থানান্তর করা হয়।
কিভাবে Win32 OpenSSH আনইনস্টল করবেন?
আপনার সিস্টেম থেকে Win32 OpenSSH সঠিকভাবে আনইনস্টল করতে:
- উন্নত পাওয়ারশেল সেশন চালান;
- SSHD পরিষেবা বন্ধ করুন:
Stop-Service sshd
- sshd পরিষেবা আনইনস্টল করুন:
.\uninstall-sshlsa.ps1
sshd successfully uninstalled ssh-agent successfully uninstalled