কম্পিউটার

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

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 সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

OpenSSH সার্ভার ইনস্টল করা হয়েছে তা নিশ্চিত করতে, কমান্ডটি চালান:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'

State : Installed

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

Windows 10/Windows সার্ভার 2019-এ SSH সার্ভার কনফিগার করুন

আপনি Windows এ OpenSSH সার্ভার ইনস্টল করার পরে, আপনাকে অবশ্যই sshd পরিবর্তন করতে হবে সার্ভিস স্টার্টআপ টাইপ স্বয়ংক্রিয় এবং PowerShell ব্যবহার করে পরিষেবা শুরু করুন:
Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে
নেটস্ট্যাট ব্যবহার করে, নিশ্চিত করুন যে SSH সার্ভার চলছে এবং TCP পোর্টে সংযোগের জন্য অপেক্ষা করছে 22:
netstat -na| find ":22" খুঁজুন
অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে
বিস্তারিত করুন যে 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

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

যদি নিয়মটি অক্ষম করা হয় (সক্ষম=মিথ্যা ) অথবা অনুপস্থিত, আপনি 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\admin@192.168.1.10
DenyUsers corp\*

শুধুমাত্র নির্দিষ্ট ডোমেন গ্রুপে SSH সংযোগের অনুমতি দিতে:

AllowGroups woshub\sshadmins

অথবা আপনি একটি স্থানীয় গোষ্ঠীতে অ্যাক্সেসের অনুমতি দিতে পারেন:

AllowGroups sshadmins

আপনি অ্যাডমিনিস্ট্রেটর বিশেষাধিকার সহ অ্যাকাউন্টগুলিতে অ্যাক্সেস অস্বীকার করতে পারেন। এই ক্ষেত্রে, যদি আপনার SSH সেশনে কোনো বিশেষ সুবিধাপ্রাপ্ত ক্রিয়া সম্পাদনের প্রয়োজন হয়, তাহলে আপনাকে রানাস ব্যবহার করতে হবে।

DenyGroups Administrators

নিম্নলিখিত নির্দেশাবলী RSA কী এবং পাসওয়ার্ড ব্যবহার করে SSH অ্যাক্সেসের অনুমতি দেয় (আমরা SSH-এর মাধ্যমে Windows অ্যাক্সেস করতে RSA কীগুলি কীভাবে ব্যবহার করতে হয় তা বিস্তারিতভাবে পরের নিবন্ধে দেখব):

PubkeyAuthentication yes
PasswordAuthentication yes

আপনি sshd_config ফাইলের পোর্ট নির্দেশে OpenSSH সংযোগ গ্রহণকারী পোর্ট পরিবর্তন করতে পারেন।

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

sshd_config ফাইলে কোনো পরিবর্তন করার পরে, আপনাকে sshd পরিষেবাটি পুনরায় চালু করতে হবে:

restart-service sshd

SSH এর মাধ্যমে Windows 10-এর সাথে কিভাবে সংযোগ করবেন?

এখন আপনি SSH ক্লায়েন্টের মাধ্যমে আপনার Windows 10-এর সাথে সংযোগ করার চেষ্টা করতে পারেন (আমি PuTTY ব্যবহার করছি, কিন্তু আপনি পরিবর্তে একটি বিল্ট-ইন Windows SSH ক্লায়েন্ট ব্যবহার করতে পারেন)।

প্রথম সংযোগে, পরিচিত SSH হোস্টের তালিকায় হোস্ট যুক্ত করার জন্য একটি আদর্শ অনুরোধ প্রদর্শিত হবে৷

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

হ্যাঁ ক্লিক করুন, এবং Windows ব্যবহারকারীর অধীনে আপনার Windows 10 এ লগইন করুন৷

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

SSH সংযোগ সফল হলে, cmd.exe শেল একটি প্রম্পট স্ট্রিং দিয়ে শুরু হবে৷

admin@win10pc C:\Users\admin>

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

আপনি কমান্ড প্রম্পটে বিভিন্ন কমান্ড, স্ক্রিপ্ট বা অ্যাপ চালাতে পারেন।

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

আমি পাওয়ারশেল কনসোলে কাজ করতে পছন্দ করি। এটি শুরু করতে, এই কমান্ডটি চালান:

powershell.exe

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

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

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

আপনার SSH সংযোগ পুনরায় চালু করুন এবং নিশ্চিত করুন যে PowerShell এখন একটি ডিফল্ট SSH শেল হিসাবে ব্যবহৃত হয়েছে (এটি PS C:\Users\admin> দ্বারা দেখানো হয়েছে )।

অন্তর্নির্মিত OpenSSH সার্ভার ব্যবহার করে SSH এর মাধ্যমে Windows সংযোগ করা হচ্ছে

আপনার SSH সেশনে PowerShell কনসোল শুরু হয়েছে, এবং পরিচিত বৈশিষ্ট্যগুলি এতে কাজ করে:ট্যাব স্বয়ংসম্পূর্ণতা, PSReadLine কালার হাইলাইটিং, কমান্ড ইতিহাস ইত্যাদি। বর্তমান ব্যবহারকারী যদি স্থানীয় প্রশাসক গোষ্ঠীর সদস্য হন, তবে সমস্ত সেশন কমান্ড উচ্চতরভাবে কার্যকর করা হয়। যদি UAC সক্রিয় থাকে।


  1. একটি বাহ্যিক নেটওয়ার্কের মাধ্যমে অ্যাক্সেস করার জন্য উইন্ডোজে একটি FTP সার্ভার তৈরি করুন৷

  2. পাইথনের অন্তর্নির্মিত HTTP সার্ভার ব্যবহার করে ফাইল স্থানান্তর করা হচ্ছে

  3. ঠিক করুন:সার্ভারের সাথে সংযোগ করার সময় চ্যাট ত্রুটি

  4. একটি ত্রুটিপূর্ণ উইন্ডোজ পিসি অ্যাক্সেস করতে একটি SSH সার্ভার কীভাবে ব্যবহার করবেন