কম্পিউটার টিউটোরিয়াল

নেটওয়ার্ক সিকিউরিটিতে PPK (PuTTY Private Key): অর্থ, ব্যবহার, রূপান্তর এবং সিকিউরিটি সেরা অনুশীলন

PPK (PuTTY Private Key) কী?

PPK (.ppk) হল পিউটিআই (PuTTY) SSH ক্লায়েন্টের নিজস্ব প্রprite Formats Private Key ফাইল ফরম্যাট। এটি SSH পাবলিক-প্রাইভেট কী জোড়ার প্রাইভেট কী অংশটি সংরক্ষণ করে এবং শুধুমাত্র PuTTY এবং এর সংশ্লিষ্ট টুলস (PuTTYgen, Pageant, PSFTP, Plink, WinSCP) এই ফরম্যাট বুঝতে পারে। OpenSSH (Linux/macOS/Windows 10+ built-in) এই ফরম্যাট সরাসরি পড়ে না — রূপান্তর (Conversion) দরকার।

PPK ফাইল কীভাবে তৈরি করা হয়? (PuTTYgen দিয়ে)

  1. PuTTYgen ডাউনলোড ও চালু করুন (puttygen.exe)।
  2. Key Type: RSA (3072/4096 bit) বা Ed25519 (Recommended: Ed25519 — ফাস্ট, ছোটো, সিকিউর) সিলেক্ট করুন।
  3. Generate ক্লিক করুন → মাউস র‍্যান্ডমলি মুভ করুন এনট্রপি জেনারেশনের জন্য।
  4. Key Comment: শনাক্তকারী নাম (যেমন: `user@host-2024`) লিখুন।
  5. Key Passphrase: বাধ্যতামূলক একটি স্ট্রং পাসফ्रेज দিন (এনক্রিপ্টেড প্রাইভেট কী için)। Confirm Passphrase।
  6. Save private key → `.ppk` এক্সটেনশনে সেভ করুন (যেমন: `id_ed25519.ppk`)。
  7. Save public key → OpenSSH ফরম্যাটে পাবলিক কী সেভ করুন (যেমন: `id_ed25519.pub`) — এটি `authorized_keys`-এ পেস্ট করার জন্য।

PPK ফাইল ব্যবহারের পরিসর

  • PuTTY SSH Client: Connection → SSH → Auth → Credentials → Private key file for authentication: `.ppk` ফাইল সিলেক্ট করুন।
  • Pageant (PuTTY Authentication Agent): সিস্টেম ট্রে-এ রান করে `.ppk` লোড করে রাখে → PuTTY/WinSCP/FileZilla অটোমেটিকি ব্যবহার করে (Passphrase একবার দিলে যথেষ্ট)।
  • WinSCP / FileZilla (SFTP/SCP): Site Manager → Key File: `.ppk` সিলেক্ট করুন।
  • Git for Windows (PuTTY backend): `GIT_SSH=plink.exe` সেট করলে PPK ব্যবহার করা যায়।

PPK ↔ OpenSSH (PEM) রূপান্তর (Conversion) — অত্যন্ত গুরুত্বপূর্ণ

PEM vs PPK: পার্থক্য

রূপান্তরGUI (PuTTYgen)কমান্ড লাইন (puttygen / ssh-keygen)
PPK → OpenSSH Private Key (PEM)File → Load Private Key (.ppk) → Passphrase → Conversions → Export OpenSSH Key → Save as `id_ed25519` (No Extension)puttygen id_ed25519.ppk -O private-openssh -o id_ed25519
# বা Linux-এ:
puttygen id_ed25519.ppk -O private-openssh -o id_ed25519
OpenSSH Private Key → PPKFile → Load Private Key (OpenSSH Key) → Passphrase → Save Private Key (.ppk)puttygen id_ed25519 -O private -o id_ed25519.ppk
PPK → OpenSSH Public Key (authorized_keys ফরম্যাট)File → Load Private Key (.ppk) → Public key for pasting into OpenSSH authorized_keys file: (কপি করুন)puttygen id_ed25519.ppk -O public-openssh -o id_ed25519.pub
OpenSSH Public Key → PPK (Not Direct)পাবলিক কী থেকে প্রাইভেট কী বানানো যায় না। প্রাইভেট কী থাকলে PPK বানানো যায়।N/A

PPK ফাইল সিকিউরিটি সেরা অনুশীলন (Security Best Practices)

  1. পাসফ्रेज বাধ্যতামূলক: প্রাইভেট কী_ENCRYPTED_ রাখুন। পাসফ्रेज ছাড়া `.ppk` ফাইল চুরি হলে সার্ভার ফুল এক্সেসible।
  2. Ed25519 কী ব্যবহার করুন: RSA 2048 বাদ দিন। Ed25519: ফাস্ট, ছোটো কী, কোই কোফ্যাক্টর আক্রমণ নেই, ফিউচার-প্রুফ।
  3. প্রাইভেট কী প্রোটেক্ট করুন: ফাইল পারমিশন `chmod 600` (Linux/macOS) / Windows-এ শুধু আপনার ইউজার Read Access। ক্লাউড স্টোরেজে (Drive, Dropbox) আপলোড করবেন না।
  4. Pageant ব্যবহার করুন: পাসফ्रेज একবার দিন, সেশন চলাকালীন কী মেমরিতে ডিক্রিপ্টেড থাকে (স্বচ্ছ অথেনটিকেশন)।
  5. কী রোটেশন (Rotation): ৯০-১৮০ দিন পর পর নতুন কী জেনারেট করুন, পুরনো কী রিভোক করুন (`authorized_keys` থেকে মুছুন)।
  6. ব্যাকআপ: এনক্রিপ্টেড `.ppk` এবং পাসফ्रेज পাসওয়ার্ড ম্যানেজারে (Bitwarden, 1Password, KeePass) সেভ রাখুন।
  7. এজেন্ট ফরওয়ার্ডিং (`-A`) এড়িয়ে চলুন: কমপ্রোমাইজড সার্ভারে এজেন্ট ফরওয়ার্ডিং দিলে আক্রমণকারী আপনার কী ব্যবহার করতে পারে। `ProxyJump` বা `ProxyCommand` ব্যবহার করুন।

সाम্প্রতিক বিকল্প: Windows 10/11-এ বিল্ট-ইন OpenSSH

Windows 10 1809+ এ OpenSSH Client (`ssh.exe`, `ssh-keygen.exe`, `ssh-agent.exe`, `ssh-add.exe`) বিল্ট-ইন থাকে। আর PuTTY/PPK প্রয়োজন নেই।

# কী জেনারেট
ssh-keygen -t ed25519 -C "user@host-2024" -f ~/.ssh/id_ed25519

# এজেন্টে লোড
Start-Service ssh-agent
ssh-add ~/.ssh/id_ed25519

# সার্ভারে কপি
ssh-copy-id user@server
# বা ম্যানুয়ালি: cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

সুপারিশ: নতুন প্রজেক্ট/সার্ভারের জন্য OpenSSH (Ed25519) ব্যবহার করুন। লিগ্যাসি PuTTY 워크ফ্লো রক্ষা করতে হলে PPK ↔ OpenSSH রূপান্তর করুন।

PPK সংক্রান্ত অন্যান্য এক্রোনিম (Contextual)

  • PPK (Cryptography): Per-Packet Key (WPA2/WPA3-এ প্রতিটি প্যাকেটের জন্য ইউনিক এনক্রিপশন কী — PTK/GTK)।
  • PK: Public Key (ক্রিপ্টোগ্রাফি), Primary Key (ডাটাবেস), Pakistan (Country Code), Protein Kinase (Biology)।
  • OSB: Oriented Strand Board (কাঠামো সামগ্রী) — সিকিউরিটির সাথে সম্পর্কিত নয়।
  • LPA: Lasting Power of Attorney (قانون) — সিকিউরিটির সাথে সম্পর্কিত নয়।

উপসংহার

PPK (PuTTY Private Key) হল উইন্ডোজে পিউটিআই SSH ক্লায়েন্টের জন্য একটি প্রprite প্রাইভেট কী ফরম্যাট। আধুনিক ওয়ার্কফ্লোর জন্য OpenSSH (Ed25519) স্ট্যান্ডার্ড ফরম্যাটটি সুপারিশ করা হয় কারণ এটি ক্রস-প্ল্যাটফর্ম, সিকিউর এবং সকল টুলচেইনে সাপোর্টেড। PPK ফাইল থাকলে `puttygen` দিয়ে OpenSSH ফরম্যাটে কনভার্ট করুন। প্রাইভেট কীকে সবসময় পাসফ्रेज দিয়ে এনক্রিপ্ট রাখুন, Pageant ব্যবহার করুন, কী রোটেশন করুন এবং Agent Forwarding এড়িয়ে চলুন। Windows-এ বিল্ট-ইন OpenSSH ব্যবহার করে PuTTY/PPK-র ওপর নির্ভরতা কমিয়ে আনার পরামর্শ দেওয়া হয়।

  1. প্রিন্টারের জন্য নেটওয়ার্ক সিকিউরিটি কী কী এবং কোথায় পাবেন?

  2. নেটওয়ার্ক সিকিউরিটিতে HIPS মানে কী?

  3. AT&T নেটওয়ার্ক সিকিউরিটি কী হিসেবে কী চায়?

  4. নেটওয়ার্ক সিকিউরিটি কী কী কাজ করে?

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
ফিচারPEM (OpenSSH Standard)PPK (PuTTY Proprietary)
ফরম্যাটBase64-Encoded DER (-----BEGIN OPENSSH PRIVATE KEY-----)PuTTY Custom Binary/Text Format
এনক্রিপশনAES-256-CBC (New OpenSSH Format), DES-EDE3-CBC (Old PEM)PuTTY Custom Encryption (AES-256-CBC Optional)
ক্রস-প্ল্যাটফর্মUniversal (Linux, macOS, Windows, BSD, Network Devices)Windows-Only (PuTTY Ecosystem)
টুল সাপোর্টOpenSSH, OpenSSL, Git, Ansible, Terraform, Kubernetes, AWS CLI, Azure CLI, semua modern toolsPuTTY, Pageant, WinSCP, FileZilla, Plink, PSFTP
সুপারিশস্ট্যান্ডার্ড — সব জায়গায় কাজ করেশুধু লিগ্যাসি Windows PuTTY Workflow-এর জন্য