ssh-keygen আরএসএ প্রাইভেট কী তৈরি করে না


70

আমি একটি ব্যক্তিগত কী তৈরি করার চেষ্টা করছি এবং একটি সমস্যা আছে।

আমি যখন ব্যবহার করি ssh-keygen -t rsa -b 4096 -C "your_email@example.com", আমি নীচের ফর্ম্যাটটিতে একটি ব্যক্তিগত কী পাই।

-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----

এবং আমি যে অ্যাপ্লিকেশনটি ব্যবহার করার চেষ্টা করছি তার জন্য এটি গ্রহণ করা হচ্ছে না।

আমি নিম্নলিখিত আরএসএ ফর্ম্যাটে একটি কী আশা করছি।

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9

uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----

আমি কীভাবে সঠিক ফর্ম্যাটটি তৈরি করব? এটি অদ্ভুত কারণ কারণ আমার যে সমস্ত ম্যাক আমি সমস্যায় পড়ছি তা বাদ দিয়ে সঠিক ফর্ম্যাট তৈরি করে।

আমি একটি নতুন ইনস্টল করা ম্যাক ওএস মোজাভেতে আছি


এবং অন্য ম্যাকগুলি মোজাভে নেই? আমি মোজাভেতেও এসেছি এবং "নতুন" ওপেনশ কী ফর্ম্যাটটি পেয়েছি। সুতরাং আমি ধরে নিই যে অন্য ম্যাকগুলি কম সংস্করণে রয়েছে। ব্যবহৃত ওপেনএসএসএল সংস্করণ পরীক্ষা করুন।
জিনা

@ জিনা অন্যান্য ম্যাকগুলিও মোজভে রয়েছে এবং একই ওপেনএসএসএল সংস্করণ রয়েছে।
চাঁদ

আরএসএ ডিফল্ট ধরণের হওয়া উচিত be আপনি যদি -t rsaবিকল্পটি পুরোপুরি বাদ দেন তবে কী হবে ?
গুজিজোজন

@ গুজিজোন এটি একই রকম। এটাই আমাকে পাগল করছে। এমনকি যদি আমি আমার ম্যাক-টি-টিএসএ বাদ দিই (কাজ করে) তবে এটি সঠিকভাবে আরএসএ উত্পন্ন করে।
চাঁদ

আমারও একই সমস্যা ছিল কার্যক্ষম হিসাবে আমি কী উত্পন্ন করতে ওপেনশার পুরানো সংস্করণ ব্যবহার করেছি। আপনার উত্পন্ন কীটি ওপেনএসএল আরএসএ-টেক্সট-ইন কী_ফিল-পাসিন 'পাস: পাসফ্রেজ' দিয়ে সঠিক কিনা তা পরীক্ষা করতে পারেন। সংস্করণ 7.4p1-16 কাজ করে।
টাইপ করুন

উত্তর:


73

আমি সম্প্রতি একই সমস্যার মুখোমুখি হয়েছি (মোজভে 10.14.1 এ আপগ্রেড করার পরে), এই সমস্যার জন্য এখানে 2 টি সম্ভাব্য সমাধান রয়েছে।

  • আপনার এসএস-কীজেন বাইনারি ডাউনগ্রেড করুন (আপনি সহজেই কোনও লিনাক্স / ডকার চিত্র থেকে পুরানো সংস্করণ পেতে পারেন)

অথবা

  • -m PEMআপনার ssh-keygen কমান্ডে বিকল্প যুক্ত করুন । উদাহরণস্বরূপ, আপনি ssh-keygen -m PEM -t rsa -b 4096 -C "your_email@example.com"ssh-keygen PEMফর্ম্যাট হিসাবে রফতানি করতে চালাতে পারেন ।

মোজাভেজে বর্তমান ssh-keygen সংস্করণে মনে হয়, এখানেRFC4716 উল্লিখিত হিসাবে ডিফল্ট রফতানি বিন্যাসটি রয়েছে


1
ডিফল্ট রফতানি পাবলিককি ফর্ম্যাটটি আসলেই আরএফসি 4716, তবে কিউ-তে ফর্ম্যাটটি একটি অভ্যন্তরীণ প্রাইভেটকি ফর্ম্যাট এবং এটি ওপেনএসএইচ-এর 'নতুন' ফর্ম্যাট যা 1999 (!) -তে উপস্থিত ছিল না এবং বর্তমানের বর্ণনায় আর নেই; 6.0 থেকে 6.3 এ চেষ্টা করুন।
dave_thompson_085

3
আমি উত্তরটি সম্পাদনা করতে পারছি না তবে দয়া করে স্পষ্ট থাকবেন যে ১ এবং ২ স্বাধীন সমাধান, অনুক্রমিক পদক্ষেপ নয়। এক-অফ কী প্রজন্মের জন্য আপনাকে ডাউনগ্রেড করার দরকার নেই। -m PEM
sdoxsee

47

ওপেনএসএসএইচ প্রাইভেট কী ফর্ম্যাট সহ নতুন কীগুলি ssh-keygen ইউটিলিটি ব্যবহার করে পুরানো PEM ফর্ম্যাটে রূপান্তর করা যেতে পারে।

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

কেবল এই ফলাফলটি অর্জনের জন্য পুরানো ওপেনএসএসএইচে ডাউনগ্রেড করার দরকার নেই।


হ্যাঁ. আমি ইতিমধ্যে গৃহীত উত্তরের মন্তব্যগুলিতে উল্লেখ করেছি। serverfault.com/questions/939909/…
sdoxsee

8
গৃহীত উত্তরে যা পরিষ্কার নয় তা হ'ল আপনাকে একটি নতুন কী জুড়ি তৈরি করার দরকার নেই। আপনি আপনার বিদ্যমান কীটি নিতে পারেন এবং সেটিকে সেই আদেশ দিয়ে রূপান্তর করতে পারেন। এটি ফাইলটি ওভাররাইট করে, সুতরাং আমি মনে করি এটির আগে ব্যাকআপ নেওয়া ভাল ধারণা।
মার্টিন্টামা

কীভাবে একটি বিদ্যমান বেসরকারী কী আরএসএ ফর্ম্যাটে রূপান্তর করতে হবে সে সম্পর্কে নির্দেশাবলী যুক্ত করার জন্য ধন্যবাদ। শুধু আমার বেকন সংরক্ষণ!
ক্রেগ ব্লেজকিজিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.