কম্পিউটার

Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে

এই নিবন্ধে আমরা দূরবর্তী সার্ভার/কম্পিউটারগুলিকে নিরাপদে অ্যাক্সেস করতে উইন্ডোজে RSA কীগুলির সাথে SSH প্রমাণীকরণ কনফিগার করব। আমরা দেখাব কীভাবে Windows-এ RSA কী (শংসাপত্র) তৈরি করতে হয় এবং কী-ভিত্তিক প্রমাণীকরণের জন্য Windows 10/Windows সার্ভার 2019-এ একটি অন্তর্নির্মিত OpenSSH সার্ভার কনফিগার করতে হয় (পাসওয়ার্ড ছাড়াই রিমোট হোস্টে প্রমাণীকরণের অনুমতি দেয়)।

SSH কী-ভিত্তিক প্রমাণীকরণ লিনাক্স বিশ্বে ব্যাপকভাবে ব্যবহৃত হয়, তবে উইন্ডোজে এটি বেশ সম্প্রতি উপস্থিত হয়েছে। ধারণাটি হল যে ক্লায়েন্টের সর্বজনীন কী SSH সার্ভারে যোগ করা হয়েছে, এবং যখন কোনও ক্লায়েন্ট এটির সাথে সংযোগ করার চেষ্টা করে, সার্ভারটি ক্লায়েন্টের সংশ্লিষ্ট ব্যক্তিগত কী আছে কিনা তা পরীক্ষা করে।

বিষয়বস্তু:

  • উইন্ডোজে SSH (RSA) তৈরি করা হচ্ছে
  • SSH কী ব্যবহার করে প্রমাণীকরণের জন্য Windows এ OpenSSH সার্ভার কনফিগার করা হচ্ছে
  • লোকাল অ্যাডমিনের অধীনে SSH কী ব্যবহার করে উইন্ডোজ লগইন করবেন কীভাবে?

উইন্ডোজে SSH (RSA) তৈরি করা হচ্ছে

আপনাকে অবশ্যই একটি ক্লায়েন্ট কম্পিউটারে দুটি RSA কী (সর্বজনীন এবং ব্যক্তিগত) তৈরি করতে হবে যা আপনি OpenSSH চলমান দূরবর্তী উইন্ডোজ সার্ভারের সাথে সংযোগ করতে ব্যবহার করবেন। একটি প্রাইভেট কী একটি ক্লায়েন্ট সাইডে সংরক্ষণ করা হয় (এটি কাউকে পাস করবেন না!), এবং একটি সর্বজনীন কী অনুমোদিত_কী-তে যোগ করা হয় SSH সার্ভারে ফাইল। একটি Windows ক্লায়েন্টে RSA কী তৈরি করতে, আপনাকে অবশ্যই OpenSSH ক্লায়েন্ট ইনস্টল করতে হবে।

Windows 10 1809 (এবং নতুন) এবং Windows Server 2019-এ, OpenSSH ক্লায়েন্ট একটি পৃথক বৈশিষ্ট্য হিসাবে ইনস্টল করা হয়েছে:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

পূর্ববর্তী Windows সংস্করণগুলিতে আপনি Win32-OpenSSH ইনস্টল করতে পারেন৷ GitHub থেকে পোর্ট (উইন্ডোজে একটি SFTP (SSH FTP) সার্ভার সেট আপ সম্পর্কে নিবন্ধে উদাহরণ দেখুন)।

একটি স্ট্যান্ডার্ড (অ-সুবিধাবিহীন) পাওয়ারশেল সেশন চালান এবং কমান্ড ব্যবহার করে এক জোড়া RSA 2048 কী তৈরি করুন:

ssh-keygen

ব্যক্তিগত কী রক্ষা করার জন্য আপনাকে একটি পাসওয়ার্ড লিখতে বলা হবে। আপনি যদি পাসওয়ার্ড নির্দিষ্ট করেন, SSH প্রমাণীকরণের জন্য এই কী ব্যবহার করার সময় আপনাকে এটি লিখতে হবে। আমি কোনো পাসফ্রেজ লিখিনি (প্রস্তাবিত নয়)।

Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে

Ssh-keygen .ssh তৈরি করবে বর্তমান উইন্ডোজ ব্যবহারকারীর প্রোফাইলে ডিরেক্টরি (C:\Users\your_username) এবং এতে 2টি ফাইল রাখুন:

  • id_rsa – একটি ব্যক্তিগত কী
  • id_rsa.pub – একটি সর্বজনীন কী

আপনি RSA কী তৈরি করার পরে, আপনি SSH এজেন্ট-এ ব্যক্তিগত কী যোগ করতে পারেন পরিষেবা, যা সুবিধামত ব্যক্তিগত কীগুলি পরিচালনা করতে এবং প্রমাণীকরণের জন্য তাদের ব্যবহার করতে দেয়। SSH এজেন্ট ব্যক্তিগত কী সঞ্চয় করে এবং বর্তমান ব্যবহারকারীর নিরাপত্তা প্রসঙ্গে সেগুলি প্রদান করে। ssh-এজেন্ট পরিষেবাটি চালান এবং PowerShell পরিষেবা পরিচালনা কমান্ডগুলি ব্যবহার করে স্বয়ংক্রিয়ভাবে স্টার্টআপ করতে কনফিগার করুন:

set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent

ssh-এজেন্ট ডাটাবেসে আপনার ব্যক্তিগত কী যোগ করুন:

ssh-add "C:\Users\youruser\.ssh\id_rsa"

অথবা নিম্নরূপ:

ssh-add.exe $ENV:UserProfile\.ssh\id_rsa

SSH কী ব্যবহার করে প্রমাণীকরণের জন্য Windows এ OpenSSH সার্ভার কনফিগার করা হচ্ছে

তারপর আপনার SSH সার্ভারে ক্লায়েন্টে তৈরি করা সর্বজনীন কীটি অনুলিপি করুন (এই উদাহরণে এটি একটি দূরবর্তী কম্পিউটার যা Windows 10 1903 চালিত এবং OpenSSH কনফিগার করা আছে)।

উইন্ডোজে একটি OpenSSH সার্ভার কীভাবে কনফিগার করা যায় তা আমরা ইতিমধ্যেই বিস্তারিতভাবে আলোচনা করেছি।

id_rsa.pub কপি করুন ফাইল .ssh ব্যবহারকারীর প্রোফাইলে ডিরেক্টরিটি আপনি SSH সার্ভারের সাথে সংযোগ করতে ব্যবহার করবেন। উদাহরণস্বরূপ, আমার একজন প্রশাসক আছে আমার Windows 10-এ ব্যবহারকারী, তাই আমাকে C:\Users\admin-এ কী কপি করতে হবে \.ssh\authorized_keys।

Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে

আপনি SCP:

ব্যবহার করে SSH সার্ভারে পাবলিক কী কপি করতে পারেন

scp C:\Users\youruser\.ssh\id_rsa.pub admin@192.168.1.15:c:\users\admin\.ssh\authorized_keys

এখন আপনি পাসওয়ার্ড ছাড়াই আপনার Windows SSH সার্ভারের সাথে সংযোগ করতে পারেন৷ আপনি যদি ব্যক্তিগত কী-এর জন্য একটি পাসওয়ার্ড (পাসফ্রেজ) সেট না করে থাকেন, তাহলে আপনি স্বয়ংক্রিয়ভাবে আপনার দূরবর্তী Windows হোস্টের সাথে সংযুক্ত হবেন৷

নেটিভ SSH ক্লায়েন্ট ব্যবহার করে একটি দূরবর্তী হোস্টের সাথে সংযোগ করতে, আপনার নিম্নলিখিত কমান্ডের প্রয়োজন হবে:

ssh (username)@(SSH server name or IP address)

যেমন:

ssh admin@192.168.1.15

এর মানে হল যে আপনি অ্যাডমিনের অধীনে আইপি ঠিকানা 192.168.1.15 সহ একটি দূরবর্তী SSH সার্ভারের সাথে সংযোগ করতে চান অ্যাকাউন্ট SSH এজেন্ট স্বয়ংক্রিয়ভাবে প্রমাণীকরণের আগে সংরক্ষিত ব্যক্তিগত কী ব্যবহার করার চেষ্টা করবে।

আপনি SSH কীগুলি পরিচালনা করতে ssh-agent পরিষেবা ব্যবহার করতে না চাইলে, আপনি SSH প্রমাণীকরণের জন্য ব্যবহার করা ব্যক্তিগত কী ফাইলের পথ নির্দিষ্ট করতে পারেন:

ssh admin@192.168.1.15 -i "C:\Users\youruser\.ssh\id_rsa"

আপনি যদি RSA কী ব্যবহার করে আপনার SSH সার্ভারের সাথে সংযোগ করতে সক্ষম না হন এবং আপনাকে এখনও একটি পাসওয়ার্ড লিখতে অনুরোধ করা হয়, তাহলে সম্ভবত আপনি যে ব্যবহারকারীর অ্যাকাউন্টে সংযোগ করার চেষ্টা করছেন সেটি স্থানীয় সার্ভার অ্যাডমিনিস্ট্রেটর গ্রুপের সদস্য (গোষ্ঠী SID) হল S-1-5-32-544)। আমরা পরে আলোচনা করব৷

Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে

স্থানীয় প্রশাসকের অধীনে SSH কী ব্যবহার করে কিভাবে উইন্ডোজ লগইন করবেন?

OpenSSH ব্যবহারকারীদের জন্য Windows স্থানীয় প্রশাসকের বিশেষাধিকারগুলির জন্য বিশেষ কী-ভিত্তিক অ্যাক্সেস সেটিংস ব্যবহার করে৷

প্রথমত, একটি কী ফাইল ব্যবহার করুন C:\ProgramData\ssh\administrators_authorized_key অনুমোদিত_কী-এর পরিবর্তে s ব্যবহারকারী প্রোফাইলে ফাইল। এই টেক্সট ফাইলে আপনাকে অবশ্যই আপনার SSH কী যোগ করতে হবে (নিরাপত্তার উদ্দেশ্যে, শুধুমাত্র অ্যাডমিনিস্ট্রেটর গ্রুপ এবং সিস্টেমের কাছে এই ফাইলটি পড়ার অনুমতি থাকা উচিত)।

ব্যবহারকারীর প্রোফাইল থেকে অনুমোদিত_কী ফাইলটি ব্যবহার করার জন্য এবং প্রশাসক_অথরাইজড_কি ফাইলে সর্বজনীন কী ডেটা স্থানান্তর না করার জন্য, আপনি OpenSSH কনফিগারেশন ফাইলে (C:\ProgramData\ssh\sshd_config সম্পর্কিত লাইনটি মন্তব্য করতে পারেন> )।

এই লাইনগুলি মন্তব্য করুন:
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে

sshd_config ফাইলে RSA কী ব্যবহার করে Windows অ্যাক্সেস করার অনুমতি দিন:

PubkeyAuthentication yes

এবং ssh পাসওয়ার্ড লগইন নিষ্ক্রিয় করুন:

PasswordAuthentication no

sshd_config এ পরিবর্তনগুলি সংরক্ষণ করার পরে sshd পরিষেবাটি পুনরায় চালু করতে ভুলবেন না৷

restart-service sshd

এখানে আরেকটি গুরুত্বপূর্ণ বিষয়। আগের OpenSSH সংস্করণে আপনাকে NT Service\sshd অনুমোদিত_কি ফাইলে পড়ার অনুমতি দিতে হয়েছিল।

এটি করতে, আপনাকে নিম্নলিখিতগুলির মধ্যে একটি করতে হবে:

  • OpenSSHUtils মডিউল ইনস্টল করুন :Install-Module -Force OpenSSHUtils -Scope AllUsers . ফাইলের অনুমতি পরিবর্তন করতে, এই কমান্ডটি চালান:Repair-AuthorizedKeyPermission -FilePath C:\Users\admin\.ssh\authorized_keys Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে
  • NTFSS নিরাপত্তা মডিউল বা icacls ব্যবহার করে ফাইলের জন্য NTFS অনুমতি পরিবর্তন করুন;
  • অথবা আপনি StrictModes নিষ্ক্রিয় করতে পারেন sshd_config ফাইলে। ডিফল্টরূপে, এই মোডটি সক্রিয় থাকে এবং কী-ভিত্তিক প্রমাণীকরণকে বাধা দেয়, যদি একটি সর্বজনীন এবং ব্যক্তিগত কীগুলি ভালভাবে সুরক্ষিত না থাকে। লাইনটি আনকমেন্ট করুন #StrictModes yes , এবং এটিকে StrictModes no এ পরিবর্তন করুন . Windows 10/ সার্ভার 2019-এ SSH কী-ভিত্তিক প্রমাণীকরণ কনফিগার করা হচ্ছে

তাই আপনি একটি পাবলিক RSA কী (শংসাপত্র) ব্যবহার করে উইন্ডোজে SSH প্রমাণীকরণ কনফিগার করেছেন। এখন আপনি এই প্রমাণীকরণ পদ্ধতিটি নিরাপদে দূরবর্তী সার্ভারগুলিতে অ্যাক্সেস করতে, SSH টানেলে স্বয়ংক্রিয়ভাবে পোর্টগুলি ফরোয়ার্ড করতে, স্ক্রিপ্টগুলি চালাতে এবং অন্য কোনও অটোমেশন-সম্পর্কিত কাজ করতে ব্যবহার করতে পারেন৷


  1. উইন্ডোজ 11/10 এ অ্যাপাচি কীভাবে ইনস্টল করবেন

  2. উইন্ডোজ 11/10 এ অ্যাপাচি কীভাবে ইনস্টল করবেন

  3. উইন্ডোজ সার্ভার 2019 অপসারিত এবং অবচিত বৈশিষ্ট্য

  4. উইন্ডোজ সার্ভার 2019 এ হাইপার-ভি রোল ইনস্টল করুন