জিপিজি এবং এসএসএইচ কী কী বিনিময়যোগ্য?


70

আমি একটি RSAকী তৈরি GPGকরতে এবং SSHলগইনে এটি ব্যবহার করতে চাই । এটা কি সম্ভব? যদি তাই হয়, কিভাবে?

সম্পাদনা করুন: @ ওয়ারওয়ারের উত্তর দেখুন, আমি এটি চেষ্টা করি নি তবে এটি বর্তমান সমাধান বলে মনে হচ্ছে (2018 হিসাবে)

উত্তর:


26

আমি জানি এটি একটি পুরাতন পোস্ট, তবে আমার মতো লোকদের পক্ষে এটি নিয়ে হোঁচট খাচ্ছে:

এটা এখন সম্ভব (2.1 GPG দেখাও) কেবল সরাসরি জন্য gpg ব্যবহার SSH কী বের করে আনতে: gpg --export-ssh-key <key id>!

!চিহ্ন ঐচ্ছিক, এটা প্রাথমিক কী রপ্তানিযোগ্য করে তোলে এবং পরীক্ষণ বাদ কিনা চাবি প্রমাণীকরণ সক্ষম ([সিএ]) হয়।

বিবরণ:


এই উত্তরটি গ্রহণযোগ্য হওয়া উচিত। :)
ইনকিলেজ

30

আমি এই বিষয়টি সম্পর্কে কিছু গবেষণা করছি এবং আমি আপনাকে কিছু ইঙ্গিত দিতে পারি, তবে এখনও এটি কার্যকর করার কোনও উপায় আমি পাইনি।

Monkeysphere

মনকিস্ফিয়ারটি খুব আকর্ষণীয় প্রকল্প বলে মনে হচ্ছে, তবে আমি ম্যাক ওপ্স এক্স এর অধীনে ম্যাকপোর্টসের সাথে আমার সামান্য ফ্রি ডিস্কের জায়গাটি বন্ধ না করে এটি সংকলন করতে সক্ষম হইনি।

Gpgkey2ssh ব্যবহার করা হচ্ছে

আমি আপনাকে প্রথমে চেষ্টা করার পরামর্শ দিচ্ছি এটি হ'ল আপনার মূল আইডি (উদাহরণস্বরূপ, BFB2E5E3) থেকে একটি সামঞ্জস্যযুক্ত অনুমোদিত_কিগুলি প্রবেশ প্রবেশ করুন

gpgkey2ssh BFB2E5E3 | tee -a ~/.ssh/authorized_keys

এখানে আমি এটি আমার লোকাল হোস্টে যুক্ত করেছি যেহেতু পরীক্ষার উদ্দেশ্যে আমি একটি এসএসএস সার্ভার চালিয়েছি, তবে অবশ্যই এটি আপনার লক্ষ্য হোস্টে যুক্ত করা উচিত ~/.ssh/authorized_keys। পরবর্তী আপনাকে প্রমাণীকরণের সময় এসএসএইচকে এই কীটির ব্যক্তিগত অংশটি ব্যবহার করার জন্য বলতে হবে, তবে কেবল কীপায়ের একটি ASCII আর্মার্ড সংস্করণ রফতানি কাজ করে না:

gpg --armor --export-secret-key BFB2E5E3! |tee ~/.ssh/id_rsa
gpg --armor --export BFB2E5E3! | tee ~/.ssh/id_rsa.pub
chmod 400 ~/.ssh/id_rsa
ssh localhost

জিপিজি-এজেন্ট ব্যবহার করা

gpg-agentবিকল্প রয়েছে --enable-ssh-supportযা এটি এটি সুপরিচিতদের জন্য একটি ড্রপ-ইন প্রতিস্থাপন হিসাবে ব্যবহার করতে দেয় ssh-agent। আমি কিছু লোক এইভাবে ssh-addপ্রবর্তন করার পরে তাদের জিপিজি কী দিয়ে যুক্ত করার চেষ্টা করার বিষয়ে পড়েছি gpg-agent:

gpg-agent --enable-ssh-support --daemon
gpg --armor --export-secret-key BFB2E5E3! | tee ~/.gnupg/exported-keys/BFB2E5E3_sec.asc
ssh-add ~/.gnupg/exported-keys/BFB2E5E3_sec.asc

তবে আমি মনে করি না এটি কখনই কার্যকর হবে। GPG-এজেন্ট র manpage বলেছেন:

এসএসএইচ কীগুলি, যেগুলি এজেন্টের মাধ্যমে ব্যবহার করা হয়, প্রথমে এসপি-অ্যাড ইউটিলিটির মাধ্যমে জিপিজি-এজেন্টে যুক্ত করা দরকার। যখন একটি কী যুক্ত করা হয়, এসএসএস-অ্যাড প্রদত্ত কী ফাইলটির পাসওয়ার্ড জানতে চাইবে এবং এজেন্টের কাছে সুরক্ষিত কী উপাদানটি প্রেরণ করবে; এর ফলে জিপিজি-এজেন্ট একটি পাসফ্রেজ জিজ্ঞাসা করবে, যা সদ্য প্রাপ্ত চাবিটি এনক্রিপ্ট করার জন্য এবং এটি একটি জিপিজি-এজেন্ট নির্দিষ্ট ডিরেক্টরিতে সঞ্চয় করার জন্য ব্যবহার করা হবে।

সুতরাং মনে হচ্ছে যে gpg-agentকোনও জিপিজি এনক্রিপশন সহ আপনার এসএসএইচ কীগুলি সুরক্ষিত করার জন্য অতিরিক্ত ব্যবস্থা হিসাবে ব্যবহার করা উচিত।

জিপিজি কীটি ওপেনএসএইচে রূপান্তর করা হচ্ছে

জেরুমে পাউিলার তার ব্লগে লিখেছেন যে জিপিএসএম ইউটিলিটি পিসিএসসি 12 তে কী এবং শংসাপত্র রফতানি করতে পারে; সেগুলি তখন ওপেনএসএসএইচ দ্বারা ব্যবহার করা যেতে পারে:

gpgsm -o secret-gpg-key.p12 --export-secret-key-p12 0xXXXXXXXX
openssl pkcs12 -in secret-gpg-key.p12 -nocerts -out gpg-key.pem
chmod 600 gpg-key.pem
cp gpg-key.pem ~/.ssh/id_rsa
ssh-keygen -y -f gpg-key.pem > ~/.ssh/id_rsa.pub

তবে আমি gpgsmআমার জিপিজি কীপেইয়ারগুলি গ্রহণ করার কোনও উপায় খুঁজে পাইনি।

আপনি চেষ্টা করতে পারেন অন্যান্য জিনিস

এসএসএইচকে -Iপিকেসিএস # 11 নির্দিষ্ট করার একটি বিকল্প রয়েছে যা ভাগ করা লাইব্রেরি sshব্যবহারকারীর ব্যক্তিগত আরএসএ কী সরবরাহ করে একটি পিকেসিএস # 11 টোকেনের সাথে যোগাযোগ করার জন্য ব্যবহার করা উচিত। ssh-keygenএকটি ওপেনএসএইচএইচ সামঞ্জস্যযুক্ত ব্যক্তিগত (বা পাবলিক) কী -iএবং -mঅপশনগুলি ব্যবহার করে আরএফসি 4716 / এসএসএইচ 2 পাবলিক বা প্রাইভেট কী, পিইএম পিকেসিএস 8 পাবলিক কী এবং পিইএম পাবলিক কীগুলি ব্যবহার করতে পারে ।

তবুও আমি সব কিছু একসাথে রাখার উপায় খুঁজে পাচ্ছি না।


5
নোট যে সংস্করণ 2.1.11 (2016-01-26) হিসাবে gpgkey2sshপ্রতিস্থাপিত --export-ssh-keyহয়েছে। এটি বুঝতে আমার কিছুটা সময় লেগেছে। ব্যবহার হয় gpg --export-ssh-key BFB2E5E3
মায়িউলসি


লিনোডে একটি ভাল পোস্ট রয়েছে তবে তারা এসএসএইচ দিয়ে প্রমাণীকরণের জন্য জিপিজি-এজেন্ট ব্যবহার করেছিল। তারা জিপিজি গোপন কীটি কোনও এসএসএইচ প্রাইভেট কীতে রূপান্তর করে না।
জোরাক্স

14

না, এগুলি বিনিময়যোগ্য নয়। হ্যাঁ, প্রমাণীকরণের জন্য জিপিজি কীগুলি ব্যবহার করা সম্ভব - আপনার জিপিজি শংসাপত্র থেকে কাঁচা আরএসএ কিপাইয়ারটি বের করার জন্য মোনিসফিয়ার প্যাকেজটিতে সরঞ্জাম রয়েছে।

  1. আপনার জিপিজি শংসাপত্রের "প্রমাণীকরণ" সক্ষমতার পতাকা সহ একটি সাবকি দরকার। এ জাতীয় সাবকি তৈরি করতে একবার চালান:

    monkeysphere g
    
  2. এখন ssh- এজেন্টে আপনার প্রমাণীকরণের সাবকিগুলি যুক্ত করুন :

    monkeysphere s
    

কিছুটা প্রাসঙ্গিক: এই gnupg- ব্যবহারকারীদের থ্রেড


9

এই প্রশ্নের উত্তর থেকে প্রাপ্ত তথ্য এবং gnupg- ব্যবহারকারীদের মেলিংলিস্টের সাহায্যে আমি কীভাবে এসএসএইচ প্রমাণীকরণের জন্য আমার জিপিজি কী ব্যবহার করতে পারি তা বুঝতে সক্ষম হয়েছি। ক্লোদিও ফ্লোরানি ইতিমধ্যে তাঁর উত্তরে যেমন উল্লেখ করেছেন, এটি করার কয়েকটি সম্ভাব্য পদ্ধতি রয়েছে।

কিছু সম্ভাব্য সমাধান সম্পর্কে আমি একটি ব্লগপোস্ট লিখেছি: http://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key

সংক্ষিপ্তসার হিসাবে: হয় আপনি GnuPG 2.1 ব্যবহার করেন যা বর্তমানে বিটাতে রয়েছে। এই সংস্করণটি ব্যবহার করার সময়, আপনি কেবল --enable-ssh-সমর্থন বিকল্পের সাথে জিপিজি-এজেন্ট শুরু করতে পারেন এবং আপনার জন্য জিপিজি কী (বা সাবকি) ~ / .gnupg / sshcontrol- এ কীগ্রিপ যুক্ত করতে পারেন।

আপনি যখন বর্তমান স্থিতিশীল GnuPG সংস্করণ (২.০.x) ব্যবহার করছেন তখন আপনি জিপিজি-এজেন্টে আপনার কী যুক্ত করতে বানর স্পেস ব্যবহার করতে পারেন (আবার, --enable-ssh-সমর্থন বিকল্পের সাথে gpg-এজেন্ট শুরু করার পরে)।

বানর স্পিয়ারের সাহায্যে জিনোম কীরিং (বা এমনকি নিয়মিত এসএসএল-এজেন্ট) ব্যবহার করাও সম্ভব। এক্ষেত্রে একমাত্র সমস্যা হ'ল আবার লগ ইন করার সময় আপনাকে আপনার কীটি পুনরায় যুক্ত করতে হবে (জিনোম বা এক্সএফসিইতে)। এটি সমাধানের জন্য আপনি নিজের কীটি নিজেই রফতানি করতে এবং এটিকে রূপান্তর করতে পারেন।

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