Windows 10 1809 এবং Windows Server 2019 OpenSSH-এর উপর ভিত্তি করে একটি অন্তর্নির্মিত SSH সার্ভার পেয়েছে। এই নিবন্ধে আমরা দেখাব কিভাবে Windows 10-এ একটি OpenSSH সার্ভার ইনস্টল ও কনফিগার করতে হয় এবং সুরক্ষিত SSH প্রোটোকলের মাধ্যমে এটির সাথে দূরবর্তীভাবে সংযোগ করতে হয় (যেমন Linux 🙂)।
আপনি পূর্ববর্তী উইন্ডোজ সংস্করণগুলিতেও একটি OpenSSH সার্ভার ইনস্টল করতে পারেন, তবে আপনাকে অবশ্যই GitHub (https://github.com/powershell/Win32-OpenSSH) থেকে win32 পোর্টের জন্য OpenSSH ম্যানুয়ালি ডাউনলোড এবং ইনস্টল করতে হবে। কিভাবে Win32-OpenSSH ইনস্টল এবং কনফিগার করতে হয় তার উদাহরণ "Windows এ SFTP সার্ভার (SSH FTP) কিভাবে ইনস্টল এবং কনফিগার করবেন?" নিবন্ধে দেওয়া হয়েছে।
বিষয়বস্তু:
- কিভাবে উইন্ডোজে OpenSSH সার্ভার ইনস্টল করবেন?
- Windows 10/Windows সার্ভার 2019-এ SSH সার্ভার কনফিগার করুন
- OpenSSH সার্ভার কনফিগারেশন ফাইল (sshd_config)
- SSH এর মাধ্যমে Windows 10 এর সাথে কিভাবে সংযোগ করবেন?
Windows এ OpenSSH সার্ভার কিভাবে ইনস্টল করবেন?
চলুন দেখি কিভাবে Windows 10 1903-এ OpenSSH Server বৈশিষ্ট্যটি ইনস্টল করতে হয় (Windows Server 2019-এ পদ্ধতিটি একই)।
OpenSSH প্যাকেজ (যেমন RSAT) এই (এবং নতুন) উইন্ডোজ সংস্করণে ফিচার অন ডিমান্ড (FoD) হিসেবে যোগ করা হয়েছে। .
আপনার যদি সরাসরি ইন্টারনেট অ্যাক্সেস থাকে, তাহলে আপনি PowerShell ব্যবহার করে OpenSSH ইনস্টল করতে পারেন:
Add-WindowsCapability -Online -Name OpenSSH.Server*
অথবা DISM:
ব্যবহার করে
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
আপনি সেটিংস-এর মাধ্যমে Windows 10-এ OpenSSH ইনস্টল করতে পারেন প্যানেল (Apps -> Apps &Features -> ঐচ্ছিক ফিচার ম্যানেজ করুন -> একটি ফিচার যোগ করুন)। SSH সার্ভার খুলুন খুঁজুন তালিকায় এবং ইনস্টল করুন ক্লিক করুন৷ .
OpenSSH সার্ভার ইনস্টল করা হয়েছে তা নিশ্চিত করতে, কমান্ডটি চালান:Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'
State : Installed
Windows 10/Windows সার্ভার 2019-এ SSH সার্ভার কনফিগার করুন
আপনি Windows এ OpenSSH সার্ভার ইনস্টল করার পরে, আপনাকে অবশ্যই sshd পরিবর্তন করতে হবে সার্ভিস স্টার্টআপ টাইপ স্বয়ংক্রিয় এবং PowerShell ব্যবহার করে পরিষেবা শুরু করুন:Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd
নেটস্ট্যাট ব্যবহার করে, নিশ্চিত করুন যে SSH সার্ভার চলছে এবং TCP পোর্টে সংযোগের জন্য অপেক্ষা করছে 22:netstat -na| find ":22"
খুঁজুন
বিস্তারিত করুন যে Windows ডিফেন্ডার ফায়ারওয়াল TCP পোর্ট 22 এর মাধ্যমে উইন্ডোজের সাথে অন্তর্মুখী সংযোগের অনুমতি দেয়:Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled
Name DisplayName Description Enabled ---- ----------- ----------- ------- OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Inbound rule for OpenSSH SSH Server (sshd) True
যদি নিয়মটি অক্ষম করা হয় (সক্ষম=মিথ্যা ) অথবা অনুপস্থিত, আপনি New-NetFirewallRule cmdlet ব্যবহার করে একটি নতুন ইনবাউন্ড নিয়ম তৈরি করতে পারেন:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
ডিফল্টরূপে, গুরুত্বপূর্ণ OpenSSH উপাদানগুলি এই ফোল্ডারগুলিতে অবস্থিত:
- OpenSSH সার্ভার এক্সিকিউটেবল:
C:\Windows\System32\OpenSSH\
- sshd_config ফাইল (প্রথম পরিষেবা শুরু হওয়ার পরে তৈরি):
C:\ProgramData\ssh
- OpenSSH লগ:
C:\windows\system32\OpenSSH\logs\sshd.log
- অনুমোদিত_কী ফাইল এবং কী:
%USERPROFILE%\.ssh\
OpenSSH ইনস্টলেশনের পরে, কম্পিউটারে একটি নতুন স্থানীয় ব্যবহারকারী (sshd) তৈরি করা হয়৷
OpenSSH সার্ভার কনফিগারেশন ফাইল (sshd_config)
আপনি কনফিগারেশন ফাইলে আপনার OpenSSH সার্ভার সেটিংস পরিবর্তন করতে পারেন:%programdata%\ssh\sshd_config .
উদাহরণস্বরূপ, নির্দিষ্ট ডোমেন ব্যবহারকারী অ্যাকাউন্টের (বা সমস্ত ডোমেন ব্যবহারকারীদের) জন্য SSH সংযোগ অস্বীকার করতে, ফাইলের শেষে এই নির্দেশাবলী যোগ করুন:
DenyUsers woshub\[email protected] DenyUsers corp\*
শুধুমাত্র নির্দিষ্ট ডোমেন গ্রুপে SSH সংযোগের অনুমতি দিতে:
AllowGroups woshub\sshadmins
অথবা আপনি একটি স্থানীয় গোষ্ঠীতে অ্যাক্সেসের অনুমতি দিতে পারেন:
AllowGroups sshadmins
আপনি অ্যাডমিনিস্ট্রেটর বিশেষাধিকার সহ অ্যাকাউন্টগুলিতে অ্যাক্সেস অস্বীকার করতে পারেন। এই ক্ষেত্রে, যদি আপনার SSH সেশনে কোনো বিশেষ সুবিধাপ্রাপ্ত ক্রিয়া সম্পাদনের প্রয়োজন হয়, তাহলে আপনাকে রানাস ব্যবহার করতে হবে।
DenyGroups Administrators
নিম্নলিখিত নির্দেশাবলী RSA কী এবং পাসওয়ার্ড ব্যবহার করে SSH অ্যাক্সেসের অনুমতি দেয় (আমরা SSH-এর মাধ্যমে Windows অ্যাক্সেস করতে RSA কীগুলি কীভাবে ব্যবহার করতে হয় তা বিস্তারিতভাবে পরের নিবন্ধে দেখব):
PubkeyAuthentication yes PasswordAuthentication yes
আপনি sshd_config ফাইলের পোর্ট নির্দেশে OpenSSH সংযোগ গ্রহণকারী পোর্ট পরিবর্তন করতে পারেন।
sshd_config ফাইলে কোনো পরিবর্তন করার পরে, আপনাকে sshd পরিষেবাটি পুনরায় চালু করতে হবে:
restart-service sshd
SSH এর মাধ্যমে Windows 10-এর সাথে কিভাবে সংযোগ করবেন?
এখন আপনি SSH ক্লায়েন্টের মাধ্যমে আপনার Windows 10-এর সাথে সংযোগ করার চেষ্টা করতে পারেন (আমি PuTTY ব্যবহার করছি, কিন্তু আপনি পরিবর্তে একটি বিল্ট-ইন Windows SSH ক্লায়েন্ট ব্যবহার করতে পারেন)।
প্রথম সংযোগে, পরিচিত SSH হোস্টের তালিকায় হোস্ট যুক্ত করার জন্য একটি আদর্শ অনুরোধ প্রদর্শিত হবে৷
হ্যাঁ ক্লিক করুন, এবং Windows ব্যবহারকারীর অধীনে আপনার Windows 10 এ লগইন করুন৷
৷
SSH সংযোগ সফল হলে, cmd.exe শেল একটি প্রম্পট স্ট্রিং দিয়ে শুরু হবে৷
admin@win10pc C:\Users\admin>
আপনি কমান্ড প্রম্পটে বিভিন্ন কমান্ড, স্ক্রিপ্ট বা অ্যাপ চালাতে পারেন।
আমি পাওয়ারশেল কনসোলে কাজ করতে পছন্দ করি। এটি শুরু করতে, এই কমান্ডটি চালান:
powershell.exe
OpenSSH-এর জন্য ডিফল্ট cmd.exe শেলটিকে PowerShell-এ পরিবর্তন করতে, নিম্নলিখিত PowerShell কমান্ড ব্যবহার করে রেজিস্ট্রিতে পরিবর্তন করুন:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String –Force
আপনার SSH সংযোগ পুনরায় চালু করুন এবং নিশ্চিত করুন যে PowerShell এখন একটি ডিফল্ট SSH শেল হিসাবে ব্যবহৃত হয়েছে (এটি PS C:\Users\admin>
দ্বারা দেখানো হয়েছে )।
আপনার SSH সেশনে PowerShell কনসোল শুরু হয়েছে, এবং পরিচিত বৈশিষ্ট্যগুলি এতে কাজ করে:ট্যাব স্বয়ংসম্পূর্ণতা, PSReadLine কালার হাইলাইটিং, কমান্ড ইতিহাস ইত্যাদি। বর্তমান ব্যবহারকারী যদি স্থানীয় প্রশাসক গোষ্ঠীর সদস্য হন, তবে সমস্ত সেশন কমান্ড উচ্চতরভাবে কার্যকর করা হয়। যদি UAC সক্রিয় থাকে।