ক্যাপিস্ট্রানো ব্যবহার করে কিছু কোড মোতায়েন করার চেষ্টা করার সময় আমারও এই সমস্যা ছিল । খুবই হতাশাজনক. এই সমস্যাটি মোকাবেলা করার জন্য আমি দুটি পদ্ধতি জানি।
পদ্ধতি 1: এসএসএইচ এজেন্টে সমস্ত পরিচিত কী যুক্ত করুন ।
তাই এক সমাধান আমি দেখেছি চালানো হয় ssh-add
সঙ্গে -A
বিকল্প-যা আপনার সঞ্চিত কোনো পরিচয়-পংক্তি ব্যবহার, SSH এজেন্ট এই Keychain মত সব পরিচিত পরিচয় যোগ করেছেন:
ssh-add -A
এখন এটি কাজ করে তবে এটি রিবুটগুলি জুড়ে থাকবে না। সুতরাং আপনি যদি আর কখনও এই সম্পর্কে চিন্তা করতে না চান তবে কেবল আপনার ব্যবহারকারীর ~/.bash_profile
ফাইলটি এইভাবে খুলুন :
nano ~/.bash_profile
এবং এই লাইনটি নীচে যুক্ত করুন:
ssh-add -A 2>/dev/null;
এখন আপনি যখন একটি নতুন টার্মিনাল উইন্ডো খুলবেন, সমস্ত ভাল হওয়া উচিত!
পদ্ধতি 2: এজেন্টের মধ্যে কীচেইনে থাকা কেবলমাত্র এসএসএইচ কী যুক্ত করুন ।
সুতরাং ssh-add -A
বিকল্পটি বেশিরভাগ বেসিক ক্ষেত্রে কাজ করা উচিত, আমি সম্প্রতি একটি ইস্যুতে ছড়িয়ে পড়েছিলাম যেখানে আমার কাছে 6-7 ভ্যাগ্র্যান্ট বাক্স ছিল (যা অ্যাক্সেসের জন্য এসএসএইচ কী / পরিচয় ব্যবহার করে) id_rsa.pub
জায়গায় আরও সাধারণ জায়গায় একটি মেশিনে সেটআপ ছিল up
দীর্ঘ গল্প সংক্ষেপে, এসএসএইচ কী / সনাক্তকরণের উপর ভিত্তি করে অনেকগুলি ব্যর্থ চেষ্টা করার কারণে আমি একটি রিমোট সার্ভার থেকে লক আউট হয়ে গিয়েছি কারণ সার্ভার অ্যাক্সেস একটি পাসওয়ার্ডের উপর ভিত্তি করে ছিল এবং এসএসএইচ কী / পরিচয়গুলি এসএসএইচ কী / পরিচয়। সুতরাং এসএসএইচ এজেন্ট আমার সমস্ত এসএসএইচ কী চেষ্টা করেছিল , ব্যর্থ হয়েছিল এবং আমি পাসওয়ার্ড প্রম্পটেও যেতে পারিনি।
সমস্যাটি হ'ল ssh-add -A
ইচ্ছাকৃতভাবে আপনার এজেন্টের কাছে থাকা প্রতিটি এসএসএইচ কী / পরিচয় এটির প্রয়োজন হয় না এমনকি এমনকি যুক্ত করতে হবে; যেমন ভ্যাগ্র্যান্ট বাক্সগুলির ক্ষেত্রে।
অনেক পরীক্ষার পরে আমার সমাধান নিম্নলিখিত ছিল।
প্রথমত, যদি আপনার এজেন্টের সাথে আপনার প্রয়োজনের তুলনায় আরও এসএসএইচ কী / পরিচয় যুক্ত করা থাকে - যেমন দেখানো ssh-add -l
হয়েছে তবে এজেন্ট থেকে তাদের সমস্ত পরিষ্কার করুন:
ssh-add -D
এটি হয়ে গেলে, তারপরে এসএসএইচ এজেন্টটিকে ব্যাকগ্রাউন্ড প্রক্রিয়া হিসাবে শুরু করুন:
eval "$(ssh-agent -s)"
এখন, এটি অদ্ভুত হয়ে যায় এবং কেন আমি খুব বেশি নিশ্চিত নই। কিছু ক্ষেত্রে আপনি ~/.ssh/id_rsa
এজেন্টে বিশেষত কী / পরিচয় যুক্ত করতে পারেন:
ssh-add ~/.ssh/id_rsa
আপনার পাসফ্রেজ টাইপ করুন, আঘাত Returnএবং আপনি যেতে ভাল হবে।
তবে অন্যান্য ক্ষেত্রে কী / পরিচয় যুক্ত করার জন্য এটি কেবল চালানোই যথেষ্ট:
ssh-add -K
যদি এটি সমস্ত কাজ করে তবে টাইপ করুন ssh-add -l
এবং আপনার তালিকাভুক্ত একটি একক এসএসএইচ কী / পরিচয় দেখা উচিত।
সব ভালো? এখন আপনার খুলুন .bash_profile
:
nano ~/.bash_profile
এবং এই রেখাটি নীচে যুক্ত করুন; মন্তব্য করুন বা -A
সংস্করণটি যদি এটির জায়গায় থাকে:
ssh-add -K 2>/dev/null;
এটি প্রতিটি প্রারম্ভকালে / পুনরায় বুটে এসএসএইচ কী / পরিচয়টি এসএসএইচ এজেন্টকে পুনরায় লোড করতে দেয়।
আপডেট: অ্যাপল এখন UseKeychain
খোলা এসএসএইচ কনফিগারেশন বিকল্পগুলির একটি বিকল্প যুক্ত করেছে এবং এর ssh-add -A
সমাধানও বিবেচনা করে ।
ম্যাকোস সিয়েরা 10.12.2 হিসাবে, অ্যাপলUseKeychain
এসএসএইচ কনফিগারেশনের জন্য একটি কনফিগার বিকল্প যুক্ত করেছে। ম্যান পৃষ্ঠাটি পরীক্ষা করা (মাধ্যমে man ssh_config
) নিম্নলিখিত তথ্যটি দেখায়:
UseKeychain
On macOS, specifies whether the system should search for
passphrases in the user's keychain when attempting to use a par-
ticular key. When the passphrase is provided by the user, this
option also specifies whether the passphrase should be stored
into the keychain once it has been verified to be correct. The
argument must be ``yes'' or ``no''. The default is ``no''.
অ্যাপল সমাধান এইজন্য যেমন পারেন যোগ নিচে boils কোনটি ssh-add -A
আপনার .bash_profile
এই উন্মুক্ত রাডার টিকেট হিসাবে ব্যাখ্যা বা যোগ UseKeychain
ব্যবহারকারী প্রতি একটি বিকল্প এক হিসাবে ~/.ssh/config
।
$ ssh-add -K
আমাকে দেয়ssh-add: illegal option -- K