আমি কীভাবে একটি এসএসএইচ প্রাইভেট কী থেকে পাবলিক কী পুনরুদ্ধার করব?


444

দ্বারা উত্পাদিত একটি এসএসএইচ প্রাইভেট কীতে ssh-keygenসর্বজনীন কী অংশ রয়েছে। আমি কীভাবে ব্যক্তিগত কী থেকে এই পাবলিক কীটি পুনরুদ্ধার করব? আমি আমার সর্বজনীন কী হারিয়েছি এবং সার্ভার্স authorized_keysফাইলে এই সর্বজনীন কীটির বিষয়বস্তু রাখার দরকার আছে এবং একটি নতুন কী জুড়ি তৈরি করতে চাই না।

বিকল্পভাবে শব্দযুক্ত: আমি কীভাবে id_rsa.pubএকটি id_rsaফাইল থেকে ফাইল তৈরি করব ?


pbcopy > ~/.ssh/id_rsa.pubউফ।
নিক টি

@ নিকট - পিবিসিপি একটি ম্যাকোএসএক্স কমান্ড। এছাড়াও, আপনি ক্লিপবোর্ডে রিবুট, লগ আউট বা অন্য কিছু অনুলিপি করা থাকলে এটি অকেজো।
jsnfwlr

উত্তর:


681

সার্ভার ফল্টে আমি উত্তরটি পেয়েছি: ব্যক্তিগত কী থেকে একটি পাবলিক এসএসএইচ কী তৈরি করবেন?

বিকল্পটি -yপাবলিক কীকে আউটপুট করে:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

পার্শ্ব নোট হিসাবে, পাবলিক কী এর মন্তব্য হারিয়ে গেছে। আমার একটি সাইট রয়েছে যাতে মন্তব্যটির প্রয়োজন হয়েছিল (লঞ্চপ্যাড?), সুতরাং আপনাকে ~/.ssh/id_rsa.pubমন্তব্য এবং কী ডেটার মধ্যে একটি স্থান সহ প্রথম লাইনে একটি মন্তব্য সম্পাদনা করতে হবে এবং যুক্ত করতে হবে। একটি উদাহরণ পাবলিক কী নীচে কাটা দেখানো হয়েছে।

ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu

এসএসএইচ এজেন্টে যুক্ত হওয়া কীগুলির জন্য (একটি প্রোগ্রাম যা পটভূমিতে চলে এবং কীফিল পাসফ্রেজটি বারবার প্রবেশ করার প্রয়োজনীয়তা এড়িয়ে যায়), আপনি ssh-add -Lযুক্ত হওয়া কীগুলির জন্য পাবলিক কীগুলি তালিকাভুক্ত করতে কমান্ডটি ব্যবহার করতে পারেন এজেন্ট (মাধ্যমে ssh-add -l)। যখন এসএসএইচ কী কোনও স্মার্ট কার্ডে সঞ্চয় করা থাকে (এবং ব্যক্তিগত কী ফাইলটিতে অ্যাক্সেস সম্ভব না হয়) তখন এটি কার্যকর হয়।


1
দয়া করে নোট করুন যে আপনার ব্যক্তিগত কী ফাইলটি ~/.ssh/id_rsaঅবশ্যই আপনার ব্যবহারকারীর নামেই সীমাবদ্ধ থাকতে হবে। $ sudo chmod 600 ~/.ssh/id_rsaএটি সীমাবদ্ধ করতে আপনার রুট শংসাপত্রগুলি ব্যবহার করুন এবং প্রবেশ করুন, তারপরে আপনি পাবলিক কী ফাইলটি আউটপুট করতে পারেন। অন্যথায় আপনি সীমাহীন ব্যক্তিগত কী ফাইল সতর্কতা পাবেন।
মার্ক মিকোফস্কি

12
@ মার্কমিকোফস্কি এর প্রয়োজন নেই sudo, আপনার কাছে ইতিমধ্যে ব্যক্তিগত কীটি মালিকানাধীন বলে মনে করা হচ্ছে। অন্যথায় আপনি এটি প্রথম স্থানে পড়তে পারবেন না।
লেকেনস্টেইন

7
@ লিকেনস্টেইন ধন্যবাদ, অবশ্যই আপনি ঠিক বলেছেন !. এছাড়াও 400ব্যক্তিগত কী ফাইল টাইপ করতে লেখার প্রয়োজন নেই বলে সুপারিশ করা হয়। সংশোধিত কমান্ডটি হওয়া উচিত$ chmod 400 ~/.ssh/id_rsa
মার্ক মিকোফস্কি

ব্যক্তিগত কী মন্তব্য হারিয়ে গেছে। দেখুন stackoverflow.com/questions/38290929/...
weberjn

1
@ ওয়েবারজান প্রাইভেট কী ( id_rsaফাইল) -এর কোনও মন্তব্য নেই, তবে প্রকৃতপক্ষে পাবলিক কী ফাইলের মধ্যে থাকা মন্তব্যটি ( id_rsa.pub) হারিয়ে গেছে।
লেকেনস্টেইন

14

এটি একটি সমাধান বিশেষত উইন্ডোজ থেকে এসএসএইচকে তাদের দূরবর্তী মেশিনে অ্যামাজন এডাব্লুএস এবং জিসিইতে মেঘের চিত্র সহ ব্যবহার করে।

(দাবি পরিত্যাগী)

আমি সম্প্রতি জিসিইতে নতুন মোতায়েন করা ভিএম চিত্রগুলিতে রিমোট লগ ইন করার জন্য এই সমাধানটি ব্যবহার করেছি।


ব্যবহৃত সরঞ্জামগুলি:

  1. puttygen
  2. WinSCP

সম্পাদন করার পদক্ষেপ:

  1. পুটটিজেন ব্যবহার করে একটি পাবলিক / প্রাইভেট কী জুড়ি উত্পন্ন করুন।
  2. মেঘ বা দূরবর্তী অবস্থানে আপনার সার্ভারে সর্বজনীন কী আপলোড করুন।

বর্ণনা (এটি কীভাবে করবেন):

  1. একটি কী / জুড়ি তৈরি করুন বা বিদ্যমান ব্যক্তিগত কী ব্যবহার করুন:

    আপনার যদি একটি ব্যক্তিগত কী থাকে:

    পুটটিজেন খুলুন, লোড বোতাম টিপুন এবং আপনার ব্যক্তিগত কী (* .পিএম) ফাইলটি নির্বাচন করুন।

    আপনার যদি ব্যক্তিগত কী না থাকে:

    • পুটটিজেন খুলুন,
    • প্যারামিটার বিভাগের মধ্যে কাঙ্ক্ষিত মূল প্রকারের এসএসএইচ 2 ডিএসএ (আপনি আরএসএ বা ডিএসএ ব্যবহার করতে পারেন) নির্বাচন করুন ... এবং আপনি পাসফ্রেজ ক্ষেত্রটি ফাঁকা রেখে যাওয়া গুরুত্বপূর্ণ,
    • (সরকারী / ব্যক্তিগত) কী জুড়ি উত্পন্ন করার জন্য জেনারেট টিপুন এবং নির্দেশাবলী অনুসরণ করুন।

    নমুনা কী জেনারেশনের ছবি

  2. একটি নতুন 'অনুমোদিত_কিজ' ফাইল তৈরি করুন (নোটপ্যাড সহ):

    পুটি কী জেনারেটরের "ওপেনএসএইচ অনুমোদিত_কিজ ফাইলে আটকানোর জন্য সর্বজনীন কী" বিভাগ থেকে আপনার সর্বজনীন কী ডেটা অনুলিপি করুন এবং কী কী ডেটাটি "অনুমোদিত_কিজ" ফাইলটিতে আটকান।

    এই ফাইলটিতে পাঠ্যের একটি মাত্র লাইন রয়েছে তা নিশ্চিত করুন।

  3. একটি লিনাক্স সার্ভারে কীটি আপলোড করুন:

    • WinSCP খুলুন,
    • এসএফটিপি ফাইল প্রোটোকলটি নির্বাচন করুন এবং আপনার এসএসএইচ শংসাপত্রগুলির সাথে লগ ইন করুন।
    • সাফল্যের সাথে, আপনি নিজের দূরবর্তী মেশিনে হোম ডিরেক্টরি কাঠামোটি দেখেন।

    রিমোট মেশিনে হোম ডিরেক্টরিতে অনুমোদিত_কিগুলি ফাইল আপলোড করুন।

  4. যথাযথ অনুমতি সেট করুন:

    একটি .sshডিরেক্টরি তৈরি করুন (এটি উপস্থিত না থাকলে)

    authorized_keys.Ssh ডিরেক্টরিতে ফাইলটি অনুলিপি করুন (এটি কোনও বিদ্যমান authorized_keysফাইল প্রতিস্থাপন করবে ; এটি নোট করুন)।

    যদি ফাইলটি বিদ্যমান থাকে তবে কেবল বিদ্যমান ফাইলটিতে এই ফাইলটির বিষয়বস্তু যুক্ত করুন।

    অনুমতি সেট করতে কমান্ডগুলি চালান:

    sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
    

এখন আপনি প্রতিবার শংসাপত্রগুলি প্রবেশ না করেই একটি দূরবর্তী মেশিনে এসএসএস করতে সক্ষম হবেন।

আরও পড়া:

  1. উইন্ডোজ এর অধীনে এসএসএইচ কী তৈরি করা এবং আপলোড করা

  2. ওপেনএসএইচ কী, শংসাপত্রগুলি। পেইম এবং .pub ব্যবহার করে পাসওয়ার্ড ছাড়াই প্রমাণীকরণ


যদি আপনার হোম ডিরেক্টরিটি এনক্রিপ্ট করা থাকে তবে এটি করুন: Askubuntu.com
প্রশ্নগুলি

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