এজেন্ট ফরওয়ার্ডিং যখন ব্যবহৃত হয় তখন ssh_config এ আইডেন্টিটি ফাইলের নির্দেশিকা ব্যবহার করে


15

.Ssh / কনফিগারেশনে আইডেন্টিটি ফাইলের নির্দেশিকা ব্যবহার করে কি ফরওয়ার্ড করা কীগুলি নির্দিষ্ট করা সম্ভব?

আমাদের প্রোডাকশন সার্ভারে ক্যাপিস্ট্রানো / জিআইটির মাধ্যমে কিছু কোড স্থাপন করার চেষ্টা করার সময় আমি এই দৌড়ে গেলাম। আমার ব্যক্তিগত এবং আমার কাজের জিআইটি কী উভয়ই আমার এসএসএইচ এজেন্টে সর্বদা লোড হয় এবং ঠিক তাই ঘটেছিল যে আমার ব্যক্তিগত কীটি প্রথমে এজেন্টে যুক্ত হয়েছিল। ক্যাপিস্ট্রানোতে মোতায়েনের সময় আমি এজেন্ট ফরোয়ার্ডিং ব্যবহার করি সুতরাং যখন হোস্টটি it গিট পুল` অপারেশনটি অনুমোদনের চেষ্টা করেছিল তা নিম্নলিখিত ত্রুটির সাথে ব্যর্থ হয়েছিল:

ত্রুটি: আপনার ব্যবহারকারীকে `কিছু রেপো অস্বীকার করার অনুমতি`

কারণ এটি যথাযথ কীটি (যা পরে এসএসএল এজেন্টের পরে এসেছিল) চেষ্টা করার আগে আমার ব্যক্তিগত গিট কীটি ব্যবহার করে প্রমাণীকরণ করার চেষ্টা করেছিল এবং ধরে নিয়েছিল যে আমি কোনও বিদেশী রেপো অ্যাক্সেস করছি যা আমার কাছে প্রবেশ করার অনুমতি নেই। আমি সম্ভাব্যভাবে কেবল প্রতিটি ব্যক্তিগত ব্যবহারকারীর প্রতিটি কার্যের রেপোতে অ্যাক্সেস দিতে পারি কিন্তু আমার স্থানীয় মেশিনে আমি .ssh / কনফিগারেশনের মতো কাস্টম ডোমেনগুলি সংজ্ঞায়িত করে এই সমস্যাটি পেতে পারি:

হোস্ট ব্যক্তিগত. github.com
হোস্টনাম github.com
ব্যবহারকারীর গিট
আইডেন্টিটিফিল ~ / .ssh / কিছু_কি

হোস্ট work.github.com
হোস্টনাম github.com
ব্যবহারকারীর গিট
আইডেন্টিটিফিল ~ / .ssh / কিছু_ অন্য_কি

এবং এইভাবে গিট কখনই বিভ্রান্ত হয় না। আমার প্রোডাকশন বাক্সগুলিতে ফরওয়ার্ড কীগুলির জন্য .ssh / কনফিগার বিধি তৈরি করা কি সম্ভব যাতে তারা সর্বদা জানে যে নতুন কোডটি টানানোর সময় কোন কীটি ব্যবহার করতে হবে? মূলত আমি করতে সক্ষম হতে চাই:

হোস্ট work.github.com
হোস্টনাম github.com
ইউজার গিট
আইডেন্টিটিফিল কিছু_ফরওয়ার্ড_কি

ধন্যবাদ!

উত্তর:


22

আপনি ফরওয়ার্ড এজেন্ট থেকে কোন ব্যক্তিগত কী ব্যবহার করতে চান তা নির্দিষ্ট করতে আপনি একটি কী এর সর্বজনীন অংশটি ব্যবহার করতে পারেন। এটির জন্য কোনও "ইন্টারমিডিয়েট" মেশিনে একটি অতিরিক্ত ফাইল (কী এর সর্বজনীন অংশ) তৈরি করা দরকার (মেশিনে আপনি নিজের স্থানীয় এসএস-এজেন্টকে ফরোয়ার্ড করেন )।

  1. মধ্যবর্তী মেশিনের জন্য সুবিধাজনক স্থানে পছন্দসই চাবিটির সার্বজনীন অংশের একটি অনুলিপি রাখার ব্যবস্থা করুন (উদাঃ ~/.ssh/some_other_key.pub)।

    ইতিমধ্যে কীটির সর্বজনীন অংশ রয়েছে এমন কোনও মেশিন থেকে:

    scp some_other_key.pub intermediate:.ssh/
    

    বা, মধ্যবর্তী মেশিনে:

    ssh-add -L | grep something_unique > ~/.ssh/some_other_key.pub
    

    আপনি কীটির উত্স / মালিক / উদ্দেশ্যটি (বা এটির আড়াল করার চেষ্টা) ভাল করে সনাক্ত করতে পাবলিক কীটির অনুগামী "মন্তব্য" অংশটি সম্পাদনা করতে চাইতে পারেন।

  2. উপরের সার্বজনীন কী ফাইলের সাথে পাথের নামটি ব্যবহার করুন -iঅথবা IdentityFile

  3. আপনার ফরোয়ার্ড এজেন্টের কাছ থেকে কোনও অতিরিক্ত পরিচয় দেওয়ার চেষ্টা করা থেকে এসএসএস রাখতে আপনাকে IdentitiesOnly yes( .ssh/configবা -o) ব্যবহার করতেও হতে পারে ।


এটিই কেবল 10 টি সমাধান থেকে আমার পক্ষে কাজ করেছে।
ট্রেসি ফু

1
এটি খেলতে পেরে আমি বুঝতে পেরেছি যে আপনি যদি মধ্যবর্তী মেশিনে ~ / .ssh / id_rsa.pub ব্যবহার করতে চান এমন প্রাইভেট কী-এর সাথে যুক্ত জনসাধারণের কীটি রেখে দেন, এটি ডিফল্টরূপে ব্যবহৃত হবে, configuration / এ কোনও কনফিগারেশনের দরকার নেই no .ssh / কনফিগ।
bschlueter

ধন্যবাদ ক্রিস এবং বিস্ক্লিউটার! | "ব্যাশ --login; সিডি কিছু / অন্যান্য / ফোল্ডার, grep something_unique> ~ / .ssh / id_rsa.pub SSH-অ্যাড -L" SSH someserver -t: আমি এখন এর সাথে যুক্ত
blablabla

আমি যখন ssh -v -T ...সার্ভারের সাথে এটি চেষ্টা করি সর্বজনীন কী গ্রহণ করে তবে ssh বলে No such identity: /home/name/.ssh/id_rsa: No such file or directoryএবং পরবর্তীতে প্রমাণীকরণ ব্যর্থ হয়। আমি আমার সমস্ত কনফিগারেশনে ফরওয়ার্ড এজেন্ট সক্ষম করেছি। কি সমস্যা হতে পারে?
লার্স নায়স্ট্রাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.