ওপেনএসএসএইচ সরঞ্জামগুলির সাহায্যে এটি করার কোনও উপায় নেই।
তবে ওপেনএসএসএল সরঞ্জামগুলির সাহায্যে এটি বেশ সহজেই করা যায়। আসলে এটি করার জন্য কমপক্ষে দুটি উপায় রয়েছে। নীচের উদাহরণগুলিতে, ~/.ssh/id_rsa
আপনার ব্যক্তিগত কী।
একটি উপায় ডিজিএসটি ব্যবহার করছে :
openssl dgst -sign ~/.ssh/id_rsa some-file
অন্যটি পিকেটল ব্যবহার করছে :
openssl pkeyutl -sign -inkey ~/.ssh/id_rsa -in some-file
এই উভয়ই স্ট্যান্ডার্ড আউটপুটে বাইনারি স্বাক্ষর লেখেন। ডিজিএসটি গ্রহণ করে একটি -hex
বিকল্প স্বাক্ষরটির ফর্ম সম্পর্কে কিছু বিবরণ সহ একটি পাঠ্য উপস্থাপনা মুদ্রণ করবে। pkeyutl একটি -hexdump
বিকল্প নেয় যা কিছুটা কম দরকারী। উভয়ই আরএসএ এবং ডিএসএ উভয় কী গ্রহণ করবে। আউটপুটটির ফর্ম্যাটটি কী তা আমার কোনও ধারণা নেই। দুটি কমান্ড বিভিন্ন ফর্ম্যাট উত্পাদন করে। আমি এই ধারণাটি পেয়েছি যে ডিজিএসটির চেয়ে পিকেটলকে আরও আধুনিক হিসাবে বিবেচনা করা হয় ।
এই স্বাক্ষরগুলি যাচাই করতে:
openssl dgst -verify $PUBLIC_KEY_FILE -signature signature-file some-file
এবং:
openssl pkeyutl -verify -inkey $PUBLIC_KEY_FILE -sigfile signature-file -in some-file
এখানে সমস্যা $PUBLIC_KEY_FILE
। ওপেনএসএসএল ওপেনএসএইচ এর সর্বজনীন কী ফর্ম্যাটটি পড়তে পারে না, সুতরাং আপনি কেবল ব্যবহার করতে পারবেন না id_rsa.pub
। আপনার কাছে কয়েকটি বিকল্প রয়েছে, আদর্শ নয়।
আপনার যদি 5.6 বা তার পরে ওপেনএসএসএইচ সংস্করণ থাকে তবে আপনি সম্ভবত এটি করতে পারেন:
ssh-keygen -e -f ~/.ssh/id_rsa.pub -m pem
যা পিইএম ফর্ম্যাটে স্ট্যান্ডার্ড আউটপুটে সর্বজনীন কী লিখবে, যা ওপেনএসএসএল পড়তে পারে।
আপনার যদি ব্যক্তিগত কী থাকে এবং এটি একটি আরএসএ কী হয়, তবে আপনি এটি থেকে সর্বজনীন কীটি বের করতে পারেন (আমি ধরে নিই যে পিইএম-এনকোডযুক্ত ব্যক্তিগত কী ফাইলটিতে পাবলিক কীটির একটি অনুলিপি রয়েছে, যেহেতু পাবলিক কী প্রাপ্ত করা সম্ভব নয় ব্যক্তিগত কী থেকে) এবং এটি ব্যবহার করুন:
openssl rsa -in ~/.ssh/id_rsa -pubout
আমি জানি না ডিএসএ সমতুল্য আছে কিনা। নোট করুন যে এই পদ্ধতির জন্য ব্যক্তিগত কী এর মালিকের কাছ থেকে কিছু সহযোগিতা প্রয়োজন, যাকে পাবলিক কীটি বের করতে হবে এবং এটি যাচাইকরণকারীর কাছে প্রেরণ করতে হবে।
শেষ অবধি, আপনি পাবলিক কীটিকে ওপেনএসএসএইচ থেকে ওপেনএসএসএল ফর্ম্যাটে রূপান্তর করতে লার্স নামে একটি চ্যাপ দ্বারা লিখিত পাইথন প্রোগ্রাম ব্যবহার করতে পারেন ।