এসএসএইচ-এজেন্টের থেকে একটি নির্দিষ্ট ফরোয়ার্ড কী ব্যবহার করবেন?


30

ধরা যাক, আমার কাছে অন্যান্য কীগুলির সাথে গিথুবের কাছে কী আছে। আমি ssh-add -Lআমার হোম কম্পিউটার এ আমার এসএসএল এজেন্টে প্রচুর কীগুলি যুক্ত করেছি ( প্রচুর রেখাগুলি সরবরাহ করে) আমার মধ্যে .ssh/configআমি কোন হোস্টের সাথে কোন কীটি ব্যবহার করতে হবে তা সেট করে রেখেছি, যেমন

ssh -T -vvv git@github.com 2>&1 | grep Offering

দেয়

debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github

আশানুরূপ হিসাবে কেবল একটি কী সরবরাহ করা হয়। তবে তারপরে কিছু হোস্ট বি-এর সাথে ForwardAgent yesএসএসএন-ইন করা এবং একই আদেশটি পুনরাবৃত্তি করা, আমি পেয়েছি

debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github

মানে এটি আমার সমস্ত কী চেষ্টা করে। এটি সমস্যাযুক্ত কারণ সার্ভারগুলি ফেরার আগে কেবল সীমিত সংখ্যক কী ব্যবহারের চেষ্টা করা যেতে পারে Too many authentication failures। সুতরাং আমি .ssh/configহোস্ট বি এডিট করার চেষ্টা করেছি

Host github.com
  IdentityFile /Users/doxna/.ssh/id_rsa.github
  IdentitiesOnly yes

তবে তারপরে আমি কোনও মূল প্রস্তাব পাই না, বরং পাচ্ছি

debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))

আমি অনুমান করি যার অর্থ চাবিটি পাওয়া যায় নি (?) এবং সর্বোপরি, কীটি আমার হোম কম্পিউটার এ অবস্থিত, হোস্ট বি নয়, সুতরাং প্রশ্নটি কীভাবে হোস্ট বি তে এটি উল্লেখ করা যায়? আশা করি আমি প্রশ্নটি ব্যাখ্যা করতে পেরেছি।

উত্তর:


28

আপনি সঠিক ধারণা পেয়েছেন। আপনি যে অংশটি নিখোঁজ করছেন কেবল তা হ'ল ফাইলটি IdentityFileঅবশ্যই উপস্থিত রয়েছে। এটিতে একটি ব্যক্তিগত কী থাকা দরকার নেই, কেবলমাত্র পাবলিক কী উপলব্ধ রয়েছে।

হোস্ট বি তে আপনি এজেন্টের কাছ থেকে টাইপ করে পাবলিক কী বের করতে পারেন ssh-add -L | grep /Users/doxna/.ssh/id_rsa.github > ~/.ssh/id_rsa.github.pubএবং তারপরে সেই ফাইলটি নির্দেশ করতে পারেন~/.ssh/config


এফওয়াইআইয়ের সার্বজনীন কী নামটির কোনও বিষয় নেই। এটি সামগ্রীর উপর ভিত্তি করে এজেন্ট থেকে উপযুক্ত কী নির্বাচন করবে।
akostadinov

@akostadinov সত্য যদি আপনি sshকোনও প্রাইভেট কী ফাইল যুক্ত কোনও পাবলিক কী ফাইলটিতে নির্দেশ করেন তবে এটি কেবল ফাইলটি থেকে পাবলিক কীটি পড়তে হবে এবং এজেন্টকে স্বাক্ষর তৈরি করতে সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করতে হবে।
ক্যাস্পারড

এটি কার্যকরভাবে হোস্ট বিতে আপনার কীটি সংরক্ষণ করে! সার্ভারে কীটি সংরক্ষণ করে না এমন সমাধানের জন্য নীচে উত্তর @ এমসি 0 দ্বারা দেখুন।
পিট

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

@ ক্যাস্পার্ড আপনি কীটির সাথে কোনও ব্যবহারকারী এজেন্টের সাথে সরাসরি সংযোগ রাখার সময় আপনার ব্যক্তিগত কীটির আসল অনুলিপি লাগবে না। রুট হিসাবে আপনি অন্যান্য লগ ইন করা ব্যবহারকারীদের এজেন্ট সংযোগগুলি অ্যাক্সেস করতে পারেন।
এমসি 0

5

@ ক্যাস্পার্ডের কাছ থেকে চমৎকার উত্তর, তবে এটিও নোট করুন যে হোস্ট বি আপোস করা হয়েছে বা আপনি যদি সেখানে রুট সুবিধাগুলি সহ সমস্ত বিশ্বাস করেন না, তবে আপনি যতক্ষণ না লগইন করেছেন ততক্ষণ আপনি আপনার সমস্ত কীগুলি আপত্তিজনকভাবে প্রকাশ করছেন expos যে হোস্টে।

সুতরাং আপনার প্রয়োজনীয় কীগুলিতে কেবল অ্যাক্সেস ফরোয়ার্ড করা আরও ভাল পদ্ধতির হতে পারে। সম্ভবত চেষ্টা করুন ssh-agent-filterযা ডিবিয়ান / উবুন্টু সংগ্রহস্থলগুলিতে বা গিথুব থেকে রয়েছে ।

সম্পাদনা: বাছাই করে কী বাছাইয়ের ssh-identপরিবর্তে আমি স্থির করেছি ssh-agent-filter, যদিও এটি এতটা সহজ অভিজ্ঞতা নয় যেটা আশা করা যায়।


1
@ ক্যাস্পার্ডের জবাব সম্পর্কে তাঁর মন্তব্য থেকে: "এটি হয় না It এটি কেবল পাবলিক কী সংরক্ষণ করে। এবং এটি কোনও সমস্যা নয় কারণ পাবলিক কীটি কখনই প্রথম স্থানে গোপন রাখা হবে বলে আশা করা যায়নি Age এজেন্ট ফরোয়ার্ডিং হোস্টকে অ্যাক্সেস দেয় এজেন্ট ফরোয়ার্ডিং যতক্ষণ না স্থিত থাকে ততক্ষণ কীটি ব্যবহার করুন তবে এজেন্ট কখনও গোপন কীটি কোথাও প্রেরণ করতে পারবেন না "
বিডোসরর

1
@ বিডোসারর মূল হিসাবে সম্পর্কিত ব্যবহারকারী লগ ইন করার সময় আপনি এসএসএস-এজেন্ট সংযোগটি অপব্যবহার করতে পারেন You আপনি কেবল SSH_*পরিবেশের পরিবর্তনগুলি অনুলিপি করতে পারেন এবং যেখানেই চাবিটি ব্যবহার করতে চান সেখানে লগ ইন করুন, যদিও কখনও আসল অনুলিপি না থাকা সত্ত্বেও।
mc0e

স্পষ্ট করার জন্য: এই উত্তরটি সত্যই ভুল - যদিও এমসি 0 থেকে অপব্যবহারের দৃশ্যটি সত্য, জনসাধারণের কী সংরক্ষণের সাথে এর কোনও যোগসূত্র নেই - যদি মধ্যবর্তী হোস্টের সাথে আপোস করা হয় তবে আপনার এজেন্ট সংযোগটি আপনার ব্যক্তিগত কী দিয়ে প্রমাণীকরণ করতে ব্যবহার করা যেতে পারে, নির্বিশেষে আপনি মধ্যবর্তী হোস্টে পাবলিক কীটি সংরক্ষণ করেন কিনা তা সম্পর্কে। আপনার ব্যক্তিগত কী উইলকিলের সাথে আপস করবেন না এবং পাবলিক কী সংরক্ষণ করা সহজ করে তুলবে না, কারণ যে কোনও আক্রমণকারী যার সাথে এজেন্টের সাথে যোগাযোগ রয়েছে কেবল সেভাবেই পাবলিক কীগুলির জন্য এটি জানতে চাইতে পারে।
মনিকা

@ মার্ক-লেহম্যান আমি যা লিখেছি তা পুনরায় পাঠান। আপনি যদি কীগুলি ফরোয়ার্ড করেন তবে সেগুলি উন্মুক্ত করা হবে তবে আপনি কোন কীগুলি ফরোয়ার্ড করবেন তা সীমাবদ্ধ করতে পারেন।
mc0e

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