ওপেনএসএইচ বাক্সের বাইরে পিকেসিএস # 12 ফাইল ব্যবহার করতে পারে না। অন্যরা যেমন পরামর্শ দিয়েছে, আপনাকে অবশ্যই পিইএম ফর্ম্যাটে প্রাইভেট কীটি বের করতে হবে যা আপনাকে ওপেনএসএসএল এর জমি থেকে ওপেনএসএসএইচে নিয়ে আসে। এখানে উল্লিখিত অন্যান্য সমাধানগুলি আমার পক্ষে কাজ করে না। আমি ওপেন এক্স 10.9 ম্যাভেরিক্স (এই মুহুর্তে 10.9.3) "প্রিপেইকেজড" ইউটিলিটিগুলি (ওপেনএসএসএল 0.9.8y, ওপেনএসএসএইচ 6.2 পি 2) সহ ব্যবহার করি।
প্রথমে, পিইএম ফর্ম্যাটে একটি প্রাইভেট কী বের করুন যা সরাসরি ওপেনএসএইচ দ্বারা ব্যবহৃত হবে:
openssl pkcs12 -in filename.p12 -clcerts -nodes -nocerts | openssl rsa > ~/.ssh/id_rsa
আমি পাসওয়ার্ড সহ প্রাইভেট কী এনক্রিপ্ট করার দৃ strongly়ভাবে পরামর্শ দিচ্ছি:
openssl pkcs12 -in filename.p12 -clcerts -nodes -nocerts | openssl rsa -passout 'pass:Passw0rd!' > ~/.ssh/id_rsa
স্পষ্টতই, কমান্ড-লাইনে একটি সরল-পাঠ্য পাসওয়ার্ড লেখাই নিরাপদ নয়, সুতরাং আপনার ইতিহাস থেকে শেষ কমান্ডটি মুছে ফেলা উচিত বা এটি নিশ্চিত না হওয়া নিশ্চিত করা উচিত। বিভিন্ন শেলের বিভিন্ন উপায়ে রয়েছে। বাশ এবং অন্যান্য অনেক শেলের ইতিহাসে সংরক্ষণ থেকে বাঁচতে আপনি আপনার কমান্ডটিকে স্থান দিয়ে উপসর্গ করতে পারেন। বাশের ইতিহাস থেকে কমান্ডটি কীভাবে মুছবেন তা এখানেও রয়েছে:
history -d $(history | tail -n 2 | awk 'NR == 1 { print $1 }')
বিকল্পভাবে, আপনি ওপেনএসএসএলে একটি ব্যক্তিগত কী পাসওয়ার্ডটি পাস করার জন্য বিভিন্ন উপায়ে ব্যবহার করতে পারেন - পাস বাক্যাংশের আর্গুমেন্টগুলির জন্য ওপেনএসএসএল ডকুমেন্টেশনের সাথে পরামর্শ করুন ।
তারপরে, একটি ওপেনএসএসএইচ পাবলিক কী তৈরি করুন যা অনুমোদিত_কিজ ফাইলগুলিতে যুক্ত করা যেতে পারে:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub