'এসএস-এজেন্ট খুঁজে পাওয়া যায়নি' বলে পাওয়ারশেল গিট ইন


97

আমি গিট ইনস্টল করেছি এবং এটি কমান্ড প্রম্পটে দুর্দান্ত কাজ করে তবে আমি যখন পাওয়ারশেল খুলি তখন এটি আমাকে এই সতর্কতা দেয়:

WARNING: Could not find ssh-agent

আমার পেজেন্ট চলছে এবং আমার প্রাইভেট কীটি লোড হয়েছে। এটি সমস্ত জিই সরঞ্জামগুলিতে এবং কমান্ড প্রম্পটে কাজ করে তবে পাওয়ারশেলের ক্ষেত্রে নয়।

কি হচ্ছে?


4
গেল %PATH%কোনো কারণে আলাদা হতে?
জোনাস হাইডেলবার্গ


4
@ রোহানক্রাগের লিঙ্কটি মূলত যুক্ত করেছে: $env:path += ";" + (Get-Item "Env:ProgramFiles(x86)").Value + "\Git\bin"আপনার প্রোফাইল ফাইলের শীর্ষে ( ise $PROFILEসম্পাদনার জন্য প্রফাইলে খোলার জন্য পিএস কমান্ডটি ব্যবহার করুন )
টবি

ব্যাখ্যা না করার জন্য দুঃখিত - হ্যাকড বলেছেন: "এটি" ssh-এজেন্ট.এক্সি "এক্সিকিউটেবল খুঁজে পেতে সক্ষম ছিল না That ফাইলটি সি: \ প্রোগ্রাম ফাইল (x86) it গিট \ বিনে অবস্থিত but তবে সেই ফোল্ডারটি স্বয়ংক্রিয়ভাবে নয় আপনার পাঠ্যপুস্তকে এমএসজিগিট দ্বারা যুক্ত হয়েছে "
রোহানক্র্যাগ

আমি এই উত্তরটি এখন হ্যাকড পোস্টে দেওয়া পরামর্শের চেয়ে ভাল বলে পরামর্শ দিচ্ছি:
রোহানক্র্যাগ ২৩

উত্তর:


138

যারা বিশদ ব্যাখ্যা খুঁজছেন তাদের জন্য এই ব্লগ পোস্টটি পড়তে হবে । নীচে ব্লগ পোস্ট থেকে একটি উদ্ধৃতি দেওয়া হয়েছে। শেষ পর্যন্ত ssh-agent.exeপ্রয়োজন পথে, বা অন্য কোনওভাবে সমাধান করা।

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

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

আমি যখন আমার পাওয়ারশেল প্রম্পটটি পুনরায় শুরু করলাম তখন এটি আমাকে জানিয়েছিল যে এটি এসএসএইচ এজেন্ট শুরু করতে পারে না।

দেখা যাচ্ছে যে এটি "ssh-এজেন্ট.এক্সই" এক্সিকিউটেবল আবিষ্কার করতে সক্ষম ছিল না। এই ফাইলটি সি: \ প্রোগ্রাম ফাইল (x86) it গিট \ বিনে অবস্থিত। কিন্তু সেই ফোল্ডারটি আপনার প্যাথএইচ এমএসজিগেটের মাধ্যমে স্বয়ংক্রিয়ভাবে যুক্ত হয় না।

আপনি যদি আপনার সিস্টেম PATH এ এই পথটি যুক্ত করতে না চান তবে আপনি আপনার পাওয়ারশেল প্রোফাইল স্ক্রিপ্ট আপডেট করতে পারেন তাই এটি কেবল আপনার পাওয়ারশেল সেশনের ক্ষেত্রে প্রযোজ্য। আমি এখানে পরিবর্তন করেছি।

v env: পথ + = ";" + (গেট-আইটেম "এনভ: প্রোগ্রামফায়ালস (x86)")। মান + "it গিট \ বিন"

আমার মেশিনে সেই স্ক্রিপ্টটি এখানে রয়েছে: সি: \ ব্যবহারকারীরা \ হ্যাকড \ ডকুমেন্টস \ উইন্ডোজপাওয়ারশেল \ মাইক্রোসফ্ট.পওয়ারশেল_প্রোফাইল.ps1


4
এটি সত্যই উত্তর হওয়া উচিত!
ক্যাভম্যান_ডিক

এটি সঠিক উত্তর। গৃহীত উত্তরটি ধরে নিয়েছে যে টর্টোজাইজিট বা টরটোইজ ইনস্টল করা আছে। যেহেতু এই উত্তরটি উল্লেখ করেছে, সমস্যাটি সমাধান করার জন্য আপনার সমস্ত দরকার হ'ল মাইসজিট।
কার্ল

4
উথগ এই ডিরেক্টরিটি PATH এ যুক্ত করা আমাকে অস্বস্তিকর করে তুলেছে .. এতে উইন্ডোজের কমান্ডের সাথে বিরোধী জেনেরিক নামগুলি সহ সমস্ত প্রকারের এক্সেস রয়েছে। আশা করি এটি কোনও দিন আমাকে পাছায় কামড়াবে না।
সালমান ভন আব্বাস

4
@ সালমানপিকে: এটি কেবল আমাকে অস্বস্তিই করে না, গিট রক্ষণকারীরাও এটি স্পষ্টভাবে নিরুৎসাহিত করেছেন। এবং আমার ক্ষেত্রে এটি পাওয়ারশেল কমান্ড লাইনটি ভেঙে দিয়েছে।
স্কোলিমা

10
আমার জন্য, ফোল্ডারে ssh-agent.exeআসলে ছিল \Git\usr\bin
বেন উইল্ড

53

ise $profileআপনার পাথকে দূষিত না করে এই পোশজিট সমস্যাটি সমাধান করতে আপনি আপনার প্রোফাইলের (টাইপ ) শীর্ষে দুটি লাইন যুক্ত করতে পারেন । তারপরে . $profileআপনার প্রোফাইল পুনরায় লোড করতে চালান ।

32-বিট গিটের জন্য

Set-Alias ssh-agent "${env:ProgramFiles(x86)}\git\bin\ssh-agent.exe"
Set-Alias ssh-add "${env:ProgramFiles(x86)}\git\bin\ssh-add.exe"

-৪-বিট গিটের জন্য

Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"

4
. $profileআপনার প্রোফাইলটি পুনরায় লোড করার জন্য দৌড়াতে ভুলবেন না
উত্তরবেন

4
আমি চালানোর চেষ্টা করার সময় নিউ-এলিয়াস ব্যবহারের কারণে সমস্যার সৃষ্টি হয়েছিল। multiple একাধিকবার প্রোফাইল (অন্যান্য পরিবর্তনের জন্য) পরিবর্তে সেট-এলিয়াস ব্যবহার করুন এবং এটি আরও ভাল কাজ করেছে।
র্যান্ডাল বর্ক

4
ধন্যবাদ @ র্যান্ডালবার্ক এবং @ নর্থ আর্থ! পরামর্শগুলি অন্তর্ভুক্ত।
ব্রায়ানারি

4
-৪-বিট গিট 2.5 এর আবির্ভাবের সাথে (গতকাল প্রকাশিত), al৪- ${env:ProgramFiles}\git\usr\bin\বিট সিস্টেমগুলির পরিবর্তে এই এলিয়াসগুলি আপডেট করতে হবে ।
চেস্টার হুস্ক

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। কেউ তাদের পথকে উপহাস করতে চায় না।
jebar8

17

আপনি যদি পশ-গিট ব্যবহার করছেন এবং এই সতর্কতাটি পেয়ে যাচ্ছেন, আপনি নীচের লাইনে মন্তব্য করে (একটি '#' চিহ্ন যোগ করে) এটি বন্ধ করতে পারেন

Start-SshAgent -Quiet

ফাইলটিতে

Documents\WindowsPowerShell\Modules\posh-git\profile.example.ps1

4
একটি অতিরিক্ত বোনাস হিসাবে, আপনার যদি প্রয়োজন / এসএসএইচ সমর্থন না চান, এবং আপনার এসএসএস-এজেন্ট.এক্সপিএইচএইচএইচএটিএইচএইচএইচএইচএইচএইচ যোগ করার সাথে একটি সত্যই ধীর পাওয়ারশেল লঞ্চ হচ্ছে, এই লাইনটি মন্তব্য করে লঞ্চটি এক টন বাড়িয়ে দেবে।
MechEthan

17

আমি এটি বের করেছিলাম। GIT_SSHআপনাকে নির্দেশ করতে আপনার মেশিনে পরিবেশ পরিবর্তনশীল সেট করতে হবে plink.exe। এটি টরটোইজএইচজি / টরটোইজিট / গিট এক্সটেনশানগুলির সাথে ইনস্টল করা হতে পারে বা আপনি এটি পুটি ডাউনলোড পৃষ্ঠা থেকে ডাউনলোড করতে পারেন তবে কেবল একই সিস্টেমটি প্রশস্ত ব্যবহার করেছেন তা নিশ্চিত করুন। সমস্ত এক্সপ্লোরার দৃষ্টান্ত এবং কমান্ড উইন্ডোগুলির জন্য এই পরিবর্তনশীলটি সেট হয়ে গেছে তা নিশ্চিত করার জন্য আপনার উইন্ডোজ সেশন থেকে লগ আউট করা ভাল।


45 নষ্ট মিনিটের পরে, এটি কেবলমাত্র গিটারের সাথে আমার সমস্যাগুলিকে স্থির করে যা পারাজেন্টকে এসএসএইচ এজেন্ট হিসাবে ব্যবহার না করে । আমি সহজেই এর GIT_SSHমান সহ একটি ব্যবহারকারী পরিবেশ পরিবর্তনশীল তৈরি করেছি C:\Program Files (x86)\PuTTY\plink.exe। ধন্যবাদ
ফিল রিকিটস

3

নির্দিষ্ট কী দিয়ে ssh-এজেন্ট চালানোর জন্য আমি এই কোডটি লিখেছি:

$gitexepath = cmd /c where git
$gitbindir = Join-Path $gitexepath "..\..\bin"
$sshagentpath = Join-Path $gitbindir "ssh-agent.exe"
$sshaddpath = Join-Path $gitbindir "ssh-add.exe"
$keypath = "...key path...":
$sshagentres = cmd /c $sshagentpath 
$env:SSH_AUTH_SOCK = [System.Text.RegularExpressions.Regex]::Match($sshagentres, "(?<=SSH_AUTH_SOCK=).+?(?=;)").Value
$env:SSH_AGENT_PID = [System.Text.RegularExpressions.Regex]::Match($sshagentres, "(?<=SSH_AGENT_PID=).+?(?=;)").Value
cmd /c $sshaddpath $keypath

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