| ফিচার | 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 tools | PuTTY, Pageant, WinSCP, FileZilla, Plink, PSFTP |
| সুপারিশ | স্ট্যান্ডার্ড — সব জায়গায় কাজ করে | শুধু লিগ্যাসি Windows PuTTY Workflow-এর জন্য |
PPK ফাইল সিকিউরিটি সেরা অনুশীলন (Security Best Practices)
- পাসফ्रेज বাধ্যতামূলক: প্রাইভেট কী_ENCRYPTED_ রাখুন। পাসফ्रेज ছাড়া `.ppk` ফাইল চুরি হলে সার্ভার ফুল এক্সেসible।
- Ed25519 কী ব্যবহার করুন: RSA 2048 বাদ দিন। Ed25519: ফাস্ট, ছোটো কী, কোই কোফ্যাক্টর আক্রমণ নেই, ফিউচার-প্রুফ।
- প্রাইভেট কী প্রোটেক্ট করুন: ফাইল পারমিশন `chmod 600` (Linux/macOS) / Windows-এ শুধু আপনার ইউজার Read Access। ক্লাউড স্টোরেজে (Drive, Dropbox) আপলোড করবেন না।
- Pageant ব্যবহার করুন: পাসফ्रेज একবার দিন, সেশন চলাকালীন কী মেমরিতে ডিক্রিপ্টেড থাকে (স্বচ্ছ অথেনটিকেশন)।
- কী রোটেশন (Rotation): ৯০-১৮০ দিন পর পর নতুন কী জেনারেট করুন, পুরনো কী রিভোক করুন (`authorized_keys` থেকে মুছুন)।
- ব্যাকআপ: এনক্রিপ্টেড `.ppk` এবং পাসফ्रेज পাসওয়ার্ড ম্যানেজারে (Bitwarden, 1Password, KeePass) সেভ রাখুন।
- এজেন্ট ফরওয়ার্ডিং (`-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-র ওপর নির্ভরতা কমিয়ে আনার পরামর্শ দেওয়া হয়।