একবার লগইন করতে এসএসএইচ ওভার গিট কনফিগার করা


195

আমি আমার গিট সংগ্রহস্থলটি এসএসএস-এর উপরে ক্লোন করেছি। সুতরাং, প্রতিবার যখন আমি পুশ বা টান দিয়ে অরিজিনাল মাস্টারের সাথে যোগাযোগ করি তখন আমাকে আমার পাসওয়ার্ডটি আবার প্রবেশ করতে হবে। আমি কীভাবে গিটটি কনফিগার করতে পারি যাতে আমার একাধিকবার আমার পাসওয়ার্ড প্রবেশের প্রয়োজন না হয়?


7
একটি সুরক্ষা সমস্যার মতো মনে হচ্ছে, সাধারণ কমিটগুলি করার জন্য আপনাকে কোনও পাসওয়ার্ড ব্যবহার করতে হবে না, তবে একটি ধাক্কা হল সেই ধরণের জিনিস যা আপনি আবার প্রমাণীকরণ করতে চান তবে সম্ভবত আমি পুরানো fashion
অ্যালেক্স Sexton

উত্তর:


104

চেষ্টা করুন ssh-add, ssh-agentআপনার প্রাইভেট কীটি চালানো এবং ধরে রাখা দরকার

(ঠিক আছে, আপডেট হওয়া প্রশ্নের জবাবে জেফ্রোমি ব্যাখ্যা অনুসারে আপনি প্রথমে ssh-keygenএকটি সরকারী এবং প্রাইভেট কী তৈরি করতে ছুটে গেছেন You আপনি সার্বজনীন কীটি সার্ভারে রেখে দিয়েছেন You আপনার কাছে একটি পাসফ্রেজ ব্যবহার করা উচিত, যদি আপনার কাছে সমতলের সমতুল্য না থাকে) আপনার প্রাইভেট কীতে টেক্সট পাসওয়ার্ড But তবে আপনি যখন এটি করেন, তারপরে নীচে বর্ণিত একটি ব্যবহারিক বিষয় হিসাবে আপনার প্রয়োজন )ssh-agent

আপনি ssh-agentলগ ইন করার সাথে সাথে আপনি পটভূমিতে চলতে চান Once একবার লগইন ssh-addকরার পরে, এজেন্টটিকে আপনার পাসফ্রেজ দেওয়ার জন্য, আপনার কীটি ডিকোড করার জন্য একবার এবং একবারে চালানোর ধারণা । এজেন্টটি কেবল আপনার কীটি আনলক করা এবং বোঝা নিয়ে মেমরিটিতে বসে থাকে, প্রতিবার আপনি কোথাও কোথাও এসশ ব্যবহার করার জন্য প্রস্তুত।

সমস্ত ssh- পারিবারিক কমান্ড 1 এরপরে এজেন্টের সাথে পরামর্শ করবে এবং স্বয়ংক্রিয়ভাবে আপনার ব্যক্তিগত কী ব্যবহার করতে সক্ষম হবে।

ওএসএক্সে (এরর, ম্যাকোস ), জিনোম এবং কেডিএ সিস্টেমগুলি আপনার ssh-agentজন্য সাধারণত স্বয়ংক্রিয়ভাবে চালু হয়। আমি আমার ক্ষেত্রে যেমন বিবরণটি নিয়ে যাব, আপনার মতো একটি সাইগউইন বা অন্যান্য উইন্ডোজ পরিবেশ আছে যেখানে এটি অবশ্যই আপনার জন্য করা হয়নি।

এখানে শুরু করুন: man ssh-agent

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

বিকল্পভাবে, আপনি এজেন্টটিকে একটি সাধারণ শিশু হিসাবে চালাতে পারেন, একটি ফাইলের পরিবেশগত সেটিংস সংরক্ষণ করতে পারেন এবং এটি শুরু হওয়ার পরে প্রতিটি শেলের মধ্যে সেই ফাইলটি উত্স করতে পারেন।

আমার ওএসএক্স এবং উবুন্টু সিস্টেমগুলি স্বয়ংক্রিয়ভাবে এজেন্ট লঞ্চ সেটআপটি করে, তাই আমাকে যা করতে হবে তা ssh-addএকবার চালানো হবে । দৌড়াতে চেষ্টা করুন ssh-addএবং দেখুন এটি যদি কাজ করে না, যদি তাই হয় তবে আপনার কেবল পুনরায় বুট করার পরে এটি করা দরকার।

আমার সাইগউইন সিস্টেমে এটি ম্যানুয়ালি করা দরকার ছিল, তাই আমি এটি আমার মধ্যে করেছি .profileএবং আমার .bashrcউত্স রয়েছে .profile:

. .agent > /dev/null
ps -p $SSH_AGENT_PID | grep ssh-agent > /dev/null || {
        ssh-agent > .agent
        . .agent > /dev/null
}

.agentফাইল স্ক্রিপ্ট দ্বারা স্বয়ংক্রিয়ভাবে তৈরি করা হয়; এটিতে পরিবেশের পরিবর্তনশীল সংজ্ঞা এবং রফতানি রয়েছে। উপরেরগুলি .agent ফাইল উত্স করার চেষ্টা করে এবং তারপরে ps(1)এজেন্টকে চেষ্টা করে । যদি এটি কাজ না করে তবে এটি এজেন্ট শুরু করে এবং একটি নতুন এজেন্ট ফাইল তৈরি করে। আপনি ঠিক চালাতে ssh-addপারেন এবং যদি এটি কোনও এজেন্ট শুরু করতে ব্যর্থ হয়।


1. এবং sudoডান পাম এক্সটেনশন সহ এমনকি স্থানীয় এবং দূরবর্তী ।


1
ssh-agentএটি থেকে আউটপুটটি সোর্সিং না করে ব্যবহার করা সম্ভবত:eval `ssh-agent`
স্কটসোম

285

গিটহাবের সাথেও একই রকম সমস্যা ছিল কারণ আমি এইচটিটিপিএস প্রোটোকল ব্যবহার করছিলাম। আপনি কী প্রোটোকল ব্যবহার করছেন তা পরীক্ষা করতে just

git config -l

এবং শুরু দিয়ে দেখুন লাইন remote.origin.url। আপনার প্রোটোকল পরিবর্তন করতে

git config remote.origin.url git@github.com:your_username/your_project.git

12
আমি মনে করি এটির সরকারী উত্তর হওয়া উচিত, ^ 5 @ মিউইন!
ফের মার্টিন

14
রেपो যখন ব্যক্তিগত হয় এবং আপনি মালিক হন না তখন এটি কাজ করে না। আমি কেবল একটি Permission deniedত্রুটির মুখোমুখি হয়েছি ।
ogzd

7
এটি কেবলমাত্র একটি রেপোর জন্য, আমি কীভাবে এটি বিশ্বব্যাপী তৈরি করতে পারি?
onmyway133

2
@ogzd গিটহাব (বা আপনি যে কোনও পরিষেবা ব্যবহার করছেন) এটি কাজ করার আগে আপনার সার্বজনীন এসএসএইচ কী প্রয়োজন, তবে এটি এখনও সঠিক সমাধান।
ম্যাটএম

একটি বিকল্প নেইgit remote set-url origin git@github.com:your_username/your_project.git
icosamuel

24

এটি গিট নয়, এসএসএস কনফিগার করার বিষয়ে। আপনি যদি ইতিমধ্যে না থাকেন তবে ssh-keygenকী কী তৈরি করতে আপনার (ফাঁকা পাসফ্রেজ সহ) ব্যবহার করা উচিত । তারপরে, আপনি এর সাথে দূরবর্তী গন্তব্যটিতে পাবলিক কীটি অনুলিপি করেন ssh-copy-id। আপনার যদি একাধিক কী প্রয়োজন না হয় (যেমন অন্য উদ্দেশ্যে পাসফ্রেজের সাথে আরও সুরক্ষিত) বা আপনার কিছু সত্যই অদ্ভুত একাধিক-পরিচয় সামগ্রী চলছে না, এটাই সহজ:

ssh-keygen   # enter a few times to accept defaults
ssh-copy-id -i ~/.ssh/id_rsa user@host

সম্পাদনা: আপনার সত্যই ডিজিটালরোসের উত্তরটি পড়া উচিত, তবে: আপনি যদি পাসফ্রেসগুলির সাহায্যে কীগুলি ব্যবহার করেন তবে সেগুলিতে ssh-add <key-file>যুক্ত করার জন্য আপনাকে ssh-agentঅবশ্যই ব্যবহার করতে হবে (এবং স্পষ্টতই ssh-agentযদি আপনার ডিস্ট্রিবিউশনটিতে ইতিমধ্যে কোনও চালনা না থাকে তবে) শুরু করতে পারেন।


2
আমি নিশ্চিত না যে এই প্রশ্নের উত্তর দিয়েছে, তিনি অবশ্যই এটি ইতিমধ্যে করেছেন বা তিনি সাইটে পৌঁছাতে পারবেন না। তার যে উত্তরটি প্রয়োজন তা হ'ল: ssh-agentযেমন তিনি প্রতিবারের প্রবেশদ্বারটি পাসফ্রেজ -কে বাইপাস করতে চান। নিম্নমানের নয় তবে আমি মনে করি আপনার এই উত্তরটির উন্নতি করা দরকার, যদি না আমিই সেই ভুল বোঝাবুঝি করি ...
ডিজিটালরোস

2
@ ডিজিটালরোস: আহ, আমি যদি ওপি-তে আসলে কীগুলি সেট আপ করে থাকি তবে প্রশ্নটি পড়তে আমি নিশ্চিত নই। আপনি সম্ভবত ঠিকই আছেন, এবং আমি ইচ্ছাকৃতভাবে একটি পাসফ্রেজ ব্যবহার না করার পরামর্শ দেওয়ার চেষ্টা করছিলাম। তবে, আপনি অবশ্যই সম্পর্কে ssh-agent। আপনাকে +1!
ক্যাসাবেল

আমাকে এসএস-কিজেন ব্যবহার করতে হবে বা এসএসএড-অ্যাড দরকার কিনা তা নিয়ে আমি বিভ্রান্ত। আমার ~ / .ssh / ডিরেক্টরিতে আমার কাছে কেবল দুটি ফাইল রয়েছে: কনফিগার এবং জ্ঞাত_হোস্ট। দেখে মনে হচ্ছে যে ssh-add এর জন্য অন্য একটি ফাইল দরকার। / .Ssh / id_rsa। @ জেফ্রোমির ব্যাখ্যা অনুসারে এসআইএস-কীজেন ব্যবহার করে আমার কি সেই ফাইলটি তৈরি করা উচিত?
পুনরায় প্রোগ্রাম করুন

হ্যাঁ, রিমোট সার্ভারে এটি অনুলিপি করার আগে আপনাকে কী তৈরি করতে হবে। আমি মনে করি সম্ভবত আপনি "পাসফ্রেজ" শব্দটি ব্যবহার করে বিভ্রান্ত হয়ে পড়েছিলেন - ssh-*পাসফ্রেজটি কীটি ব্যবহার করার প্রয়োজন বলেছিল - যেখানে আপনি রিমোটটিতে সত্যিকারের ব্যবহারকারীর পাসওয়ার্ডটি দিয়েছিলেন?
ক্যাস্যাবেল

হ্যাঁ, আমার পাসফ্রেজের পরিবর্তে পাসওয়ার্ড বলা উচিত ছিল।
পুনরায় প্রোগ্রাম করুন

23

নিশ্চিত হয়ে নিন যে আপনি যখন সংগ্রহস্থলটিকে ক্লোন করেছেন তখন আপনি এসএসএইচ ইউআরএল দিয়েছিলেন, এইচটিটিপিএস নয়; রেপোর ক্লোন ইউআরএল বাক্সে, ইউআরএল অনুলিপি করার আগে এসএসএইচ প্রোটোকলটি চয়ন করুন। নীচে চিত্র দেখুন:

এখানে চিত্র বর্ণনা লিখুন


23

আপনি যদি এইচটিটিপিএস ব্যবহার করে ক্লোন করে থাকেন (প্রস্তাবিত) তবে: -

git config --global credential.helper cache

এবং তারপর

git config --global credential.helper 'cache --timeout=2592000'
  • সময়সীমা = 2592000 (সেকেন্ডে 30 দিন) 30 দিন (বা যাই হোক না কেন আপনাকে স্যুট করে) ক্যাচিং সক্ষম করতে।

  • এখন একটি সাধারণ গিট কমান্ড চালান যার জন্য আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রয়োজন।

  • আপনার শংসাপত্রগুলি একবার প্রবেশ করুন এবং এখন 30 দিনের জন্য ক্যাচিং সক্ষম করা আছে।

  • কোনও গিট কমান্ড দিয়ে আবার চেষ্টা করুন এবং এখন আপনার কোনও শংসাপত্রের দরকার নেই।

  • আরও তথ্যের জন্য: - গিটে আপনার গিটহাব পাসওয়ার্ডটি ক্যাচ করা হচ্ছে

দ্রষ্টব্য : শংসাপত্র সহায়কটি ব্যবহার করার জন্য আপনার গিট 1.7.10 বা আরও নতুন প্রয়োজন। সিস্টেম পুনরায় চালু করার সময়, আমাদের আবার পাসওয়ার্ড প্রবেশ করতে হতে পারে।


1
আপনি একজন ত্রাণকর্তা, প্রতিবার ব্যবহারকারীর নাম পাসওয়ার্ড টাইপ করে ক্লান্ত হয়ে পড়েছিলেন। ধন্যবাদ :)
ডেভ রঞ্জন

দয়া করে নির্দিষ্ট করুন যদি এটি কেবল লিনাক্স বা উইন্ডোজ বা উভয়ের জন্যই হয়।
joedotnot

সমস্ত ওএসের জন্য @ জয়েডোটনোট নয়। আপনি উল্লিখিত লিঙ্কটিও ব্রাউজ করতে পারেন এবং সেখানে শিরোনামের ঠিক নীচে ওএস অপশন পাবেন।
নিশান্ত থাপলিয়াল 25'18

এই! প্রতিটি ক্ষেত্রে কাজ করে।
আকাইস্টেফ 7

@ চার্লস হাই, আমি ঠিক একই পরীক্ষা করেছি এবং এটি প্রত্যাশার মতো কাজ করছে।
নিশান্ত থাপলিয়াল

8

যারা গিট-ব্যাশ বা টার্মিনালে চলমান কমান্ডগুলির চেয়ে সরাসরি ফাইল সম্পাদনা করতে পছন্দ করেন তাদের জন্য মুইনের চিন্তাভাবনা প্রসারিত করা।

আপনার প্রকল্পের .git ডিরেক্টরিতে যান (আপনার স্থানীয় মেশিনে প্রকল্পের মূল) এবং 'কনফিগার' ফাইলটি খুলুন। তারপরে [দূরবর্তী "উত্স"] সন্ধান করুন এবং নীচে ইউআরএল কনফিগারেশন সেট করুন:

[remote "origin"]
    #the address part will be different depending upon the service you're using github, bitbucket, unfuddle etc.
    url = git@github.com:<username>/<projectname>.git

1
এটি সত্যিই সাহায্য করেছে। সমস্যাটি সমাধানের নিরাপদ এবং পরিষ্কার উপায়। আমি মনে করি কারও এই উত্তর দিয়ে মুইন এর উত্তর উন্নতি করা উচিত।
লুইস অরতেগা আরণেদা

1
"আপনার প্রকল্পের .git ডিরেক্টরির যান" প্রথমবার চেষ্টা
amuliar

এই ত্রুটিটি পাওয়া "মারাত্মক: আমি প্রোটোকল 'git@github.com: <ব্যবহারকারীর নাম / https' হ্যান্ডেল করি না
শিবাম ভরদ্বাজ

@ShivamBharadwaj একটি দ্রুত অনুসন্ধান এই থ্রেড প্রকাশ stackoverflow.com/questions/30474447/... । এমন কোনও সম্ভাবনা আছে যে আপনি কোনও ওয়েবসাইট থেকে গিট ক্লোন কমান্ডটি অনুলিপি করছেন এবং এই সমস্যাটিতে চলেছেন? যদি হ্যাঁ, তবে তার পরিবর্তে সম্পূর্ণ কমান্ডটি টাইপ করার চেষ্টা করুন।
uchamp

6

আমার মনে হয় এখানে দুটি আলাদা জিনিস আছে। প্রথমটি হ'ল স্বাভাবিক এসএসএইচ প্রমাণীকরণের জন্য ব্যবহারকারীর অ্যাকাউন্টের পাসওয়ার্ড রাখতে হবে (যেখানে অ্যাকাউন্ট পাসওয়ার্ডটি বিভিন্ন পদ্ধতির বিপরীতে প্রমাণিত হবে, এসএসডি কনফিগারেশনের উপর নির্ভর করে)।

শংসাপত্র ব্যবহার করে আপনি সেই পাসওয়ার্ডটি এড়াতে পারবেন। শংসাপত্র সহ আপনাকে এখনও একটি পাসওয়ার্ড রাখতে হবে, তবে এই সময়টি আপনার ব্যক্তিগত কী (যা অ্যাকাউন্টের পাসওয়ার্ডের থেকে পৃথক) এর পাসওয়ার্ড।

এটি করার জন্য আপনি স্টিভথ 45 দ্বারা নির্দেশিত নির্দেশাবলী অনুসরণ করতে পারেন:

সঙ্গে সর্বজনীন কী প্রমাণীকরণ

আপনি যদি প্রতিবার শংসাপত্রের পাসওয়ার্ড স্থাপন করা এড়াতে চান তবে আপনি ডিজিটালরোস দ্বারা চিহ্নিত হিসাবে ssh-এজেন্ট ব্যবহার করতে পারেন

আপনি এটি করার সঠিক উপায়টি ইউনিক্স বনাম উইন্ডোজের উপর নির্ভর করে, তবে লগ ইন করার সময় মূলত আপনাকে পটভূমিতে ssh-এজেন্ট চালানো দরকার এবং তারপরে আপনি যখন প্রথম লগ ইন করবেন তখন এজেন্টটিকে আপনার পাসফ্রেজ দেওয়ার জন্য ssh-add চালান। সমস্ত ssh- পরিবারের কমান্ডগুলি এজেন্টের সাথে পরামর্শ করবে এবং স্বয়ংক্রিয়ভাবে আপনার পাসফ্রেজটি বেছে নেবে।

এখানে শুরু করুন: মানুষ ssh- এজেন্ট।

Ssh- এজেন্টের একমাত্র সমস্যা হ'ল কমপক্ষে * নিক্সে আপনাকে প্রতিটি নতুন শেলের শংসাপত্রের পাসওয়ার্ড রাখতে হবে। এবং তারপরে শংসাপত্রটি "লোড" হয়ে গেছে এবং আপনি কোনও ধরণের পাসওয়ার্ড না রেখে এটি কোনও এসএস সার্ভারের বিরুদ্ধে প্রমাণীকরণ করতে ব্যবহার করতে পারেন। তবে এটি সেই নির্দিষ্ট শেলের উপর।

সঙ্গে Keychain আপনি SSH-এজেন্ট কিন্তু "সিস্টেম-ব্যাপী" হিসাবে একই জিনিস করতে পারেন। আপনি একবার আপনার কম্পিউটার চালু করার পরে, আপনি একটি শেল খুলুন এবং শংসাপত্রের পাসওয়ার্ডটি রাখবেন। এবং তারপরে, অন্য প্রতিটি শেল সেই "লোডযুক্ত" শংসাপত্রটি ব্যবহার করবে এবং আপনি আপনার পিসি পুনরায় চালু না করা পর্যন্ত আপনার পাসওয়ার্ড আর কখনও জিজ্ঞাসা করা হবে না।

জিনোমের অনুরূপ অ্যাপ্লিকেশন রয়েছে, যাকে জ্নোম কেরিং বলে যা আপনার শংসাপত্রের পাসওয়ার্ড প্রথমবার ব্যবহার করার পরে জিজ্ঞাসা করে এবং এটি এটি নিরাপদে সংরক্ষণ করে যাতে আপনাকে আর জিজ্ঞাসা করা হবে না।


আমি নিজে কীচেইন ব্যবহার করি: খুব দরকারী।
জাকুব নরবস্কি

AddKeysToAgent yes.ssh / কনফিগারেশন লিখে আরও একটি উপায় আছে । তারপরে এটি কম্পিউটারে স্যুইচ না করা অবধি মেমোরিতে লোড হয়
23:55

4

আপনি যদি গিথুব ব্যবহার করছেন তবে তাদের কাছে একটি খুব সুন্দর টিউটোরিয়াল রয়েছে যা এটি আরও স্পষ্টভাবে ব্যাখ্যা করেছে (কমপক্ষে আমার কাছে)।

http://help.github.com/set-up-git-redirect/


4
ssh-keygen -t rsa

পাসফ্রেজের জন্য জিজ্ঞাসা করা হলে, এটি খালি রাখুন, কেবল এন্টার টিপুন। এর মত সহজ!!


4
আপনি যদি এটি করেন তবে সচেতন হন, তবে আপনার বিকাশের ক্লায়েন্টের যে কেউ অ্যাক্সেস করেছেন তার পাসওয়ার্ডের প্রয়োজন ছাড়াই रिपোরিটরি সার্ভারে অ্যাক্সেস রয়েছে। Ssh-এজেন্ট / ssh-add কম্বো আরও ভাল সুরক্ষা দেয়।
পিটার ভি।

3

আপনি যে বাক্সটি চাপ দিচ্ছেন তা থেকে এটি চেষ্টা করুন

    ssh git@github.com

তারপরে আপনাকে গিথুব থেকে স্বাগত সাড়া পাওয়া উচিত এবং তারপরে চাপ দেওয়া ভাল।


2
এটি আমার পক্ষে কাজ করছে Hi gkucmierz! You've successfully authenticated, but GitHub does not provide shell access.তবে আমি যখন ধাক্কা দেওয়ার চেষ্টা করি তখন কোনওভাবেই গিট আমাকে পাসওয়ার্ডের জন্য জিজ্ঞাসা করে
gkucmierz

2

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

আপনার পাসওয়ার্ড হিসাবে জেনকিন্স জবের কনফিগারেশন এবং লগ-এ পরিষ্কার পাঠ হিসাবে এই সমস্যাটি সমাধানের খুব ভাল উপায় নয়! কেবলমাত্র এটি ব্যবহার করুন যদি আরএসএ-কী প্রমাণীকরণ বা অন্য কনফিগারেশন পজিশনগুলি কনফিগার করার উপায় নেই!

rm -rf $WORKSPACE &&
expect -c 'set timeout -1; spawn git clone USER@MYHOST:/MYPATH/MYREPO.git $WORKSPACE; expect "password:" {send "MYPASSWORD\r"}; expect eof'

1

AddKeysToAgent yes.Ssh / config ফাইলের শীর্ষে একটি একক লাইন যুক্ত করুন। অবশ্যই অবশ্যই এসশ-এজেন্ট আগেই চলমান হবে। যদি এটি চালিত না হয় (চেক বাই prep ssh-agent), তবে কেবল এটি চালানeval $(ssh-agent)

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

সমাধানের উত্স হ'ল /ubuntu/362280/enter-ssh-passphrase-once/853578#853578


0

আমি সমস্ত সময় পাসফ্রেজ টাইপ করা এড়িয়ে যাওয়ার চেষ্টা করছি কারণ আমি উইন্ডোতে এসএসএস ব্যবহার করছি। আমি যা করেছি তা ছিল আমার। প্রোফাইল ফাইলটি সংশোধন করা, যাতে আমি একটি নির্দিষ্ট সেশনে আমার পাসফ্রেজটি প্রবেশ করি enter সুতরাং এই কোড টুকরা:

    SSH_ENV="$HOME/.ssh/environment"

    # start the ssh-agent
    function start_agent {
        echo "Initializing new SSH agent..."
        # spawn ssh-agent
        ssh-agent | sed 's/^echo/#echo/' > "$SSH_ENV"
        echo succeeded
        chmod 600 "$SSH_ENV"
        . "$SSH_ENV" > /dev/null
        ssh-add
    }

    # test for identities
    function test_identities {
        # test whether standard identities have been added to the agent already
        ssh-add -l | grep "The agent has no identities" > /dev/null
        if [ $? -eq 0 ]; then
            ssh-add
            # $SSH_AUTH_SOCK broken so we start a new proper agent
            if [ $? -eq 2 ];then
                start_agent
            fi
        fi
    }

    # check for running ssh-agent with proper $SSH_AGENT_PID
    if [ -n "$SSH_AGENT_PID" ]; then
        ps -fU$USER | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null
        if [ $? -eq 0 ]; then
      test_identities
        fi
    # if $SSH_AGENT_PID is not properly set, we might be able to load one from
    # $SSH_ENV
    else
        if [ -f "$SSH_ENV" ]; then
      . "$SSH_ENV" > /dev/null
        fi
        ps -fU$USER | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null
        if [ $? -eq 0 ]; then
            test_identities
        else
            start_agent
        fi
    fi

সুতরাং এটি দিয়ে আমি আমার পাসফ্রেজটি একটি সেশনে একবার টাইপ করি ..


-1

আমি এই সমস্ত পরামর্শ এবং আরও অনেকগুলি চেষ্টা করেছিলাম, কেবলমাত্র আমি আমার AWS উদাহরণ থেকে ক্লোনটি পেতে পারি। কিছুই কাজ হয়নি। অবশেষে হতাশার হাতছাড়া হয়ে গেলাম: আমি আমার স্থানীয় মেশিনে id_rsa.pub এর বিষয়বস্তু অনুলিপি করেছি এবং আমার AWS উদাহরণে এটি ~ / .ssh / known_hosts এ সংযুক্ত করেছি।


1
আপনি কি নিশ্চিত যে আপনি ~ / .ssh / অনুমোদিত_কিজ মানে না?
কেভিন_ কিনসে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.