ඔබගේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කළ නොහැක


1629

මම මෙම දෝෂයට මුහුණ දෙමි:

$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
!  Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.

මම යතුරු එක් කිරීමට උත්සාහ කළ අතර මෙම දෝෂය පහත දැක්වේ:

$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.

26
ප්‍රශ්නය: ඔබ මෙම පිටුවේ සෑම පිළිතුරක්ම පසු කළ පසු ඒවා කිසිවක් ක්‍රියාත්මක නොවේ. ඔබට ඊළඟට කුමක් කළ හැකිද?
බ්‍රැන්ඩන් බර්ටෙල්සන්

8
Ra බ්‍රැන්ඩන්බර්ටෙල්සන් මෙය උත්සාහ කරන්න: $ ssh-agent /bin/sh සහ $ ssh-add $yourkey
ශ්‍යාම්

RaBrandonBertelsen ඊළඟට ඔබ භාවිතා git config --listකර ඇත්තේ ඔබ සකසා ඇත්දැයි බැලීමටය credential.helper- ඔබ සතුව ඇත්නම් සහායකයා උදව් නොකරන බැවින් මෙම සැකසුම ඉවත් කළ යුතුය.
යෝයෝ

Answers:


2425

ඔබ ආරම්භ කළාද ssh-agent?

ඔබ විධානය ssh-agentක්‍රියාත්මක කිරීමට පෙර ආරම්භ කිරීමට අවශ්‍ය විය හැකිය ssh-add:

eval `ssh-agent -s`
ssh-add

මෙය වින්ඩෝස් හි msysgit Bash සඳහා නියෝජිතයා ආරම්භ කරන බව සලකන්න . ඔබ වෙනත් කවචයක් හෝ මෙහෙයුම් පද්ධතියක් භාවිතා කරන්නේ නම්, අනෙක් පිළිතුරු වල ලැයිස්තුගත කර ඇති විධානයන්හි ප්‍රභේදයක් භාවිතා කිරීමට ඔබට අවශ්‍ය විය හැකිය .

පහත පිළිතුරු බලන්න:

  1. ssh-add පැමිණිලි: ඔබේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කළ නොහැක
  2. Git තල්ලු කිරීම සඳහා පරිශීලක නාමය සහ මුරපදය අවශ්‍ය වේ (ssh-agent භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ සවිස්තරාත්මක උපදෙස් අඩංගු වේ)
  3. (Git / ssh) සත්‍යාපන නියෝජිතයා ක්‍රියාත්මක කරන්නේ කෙසේද? .
  4. ඔබගේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කළ නොහැක

ස්වයංක්‍රීයව ssh-agent ආරම්භ කිරීමට සහ බහු කොන්සෝල කවුළුවල එක් අවස්ථාවක් වැඩ කිරීමට ඉඩ දීමට, පිවිසීමේදී ආරම්භක ssh-agent බලන්න .

evalසාධාරණ වෙනුවට අප භාවිතා කළ යුත්තේ ඇයි ssh-agent?

එයට හේතුව සොයා ගැනීමට රොබින් ග්‍රීන් ගේ පිළිතුර බලන්න .

පොදු එදිරිව පුද්ගලික යතුරු

එසේම, මම භාවිතා කරන ssh-addසෑම විටම, මම සෑම විටම එයට පෞද්ගලික යතුරු එක් කරමි. ගොනුව ~/.ssh/id_rsa.pubපොදු යතුරක් සේ පෙනේ, එය ක්‍රියාත්මක වේදැයි මට විශ්වාස නැත. ඔබට ~/.ssh/id_rsaගොනුවක් තිබේද? ඔබ එය පෙළ සංස්කාරකයකින් විවෘත කරන්නේ නම්, එය පුද්ගලික යතුරක් යැයි කියන්නේද?


18
xtxtian මට ගැටලුව තේරෙන බව මට විශ්වාස නැත. මම නිශ්චිත තොරතුරු නොදනිමි, නමුත් මම අනුමාන කරන්නේ පුද්ගලික යතුර කිසි විටෙක ජාලය හරහා යවනු නොලැබේ. මම හිතන්නේ ssh-addහුදෙක් සත්කාරක යන්ත්‍රයේ සංකේතාත්මක පුද්ගලික යතුරක් විකේතනය කර එය දේශීයව භාවිතා කළ හැකිය ... එය කිසි විටෙක කිසිවෙකුට යවනු නොලැබේ . මම අනුමාන කරන්නේ පොදු යතුරු පමණක් ජාලයක් හරහා යවනු ලබන බවයි. මගේ අවබෝධය වැරදිද?

6
ඔබ ඉතා කාරුණික කප්කේක්. ඔබ ඇත්තෙන්ම හරි. මගේ නරක. ex here ; ssh-add මඟින් පරිශීලකයාගේ ssh-agent (ධාවන ක්‍රියාවලිය) සඳහා පුද්ගලික යතුර එක් කරයි. ගීස්. මා මෙතරම් කලබල වූයේ කුමක් දැයි මම නොදනිමි.
xtian

22
මට කුතුහලයක් ඇති වන්නේ ඇයි eval ssh-agent -sවැඩ කරන්නේ, නමුත් ssh-agentඑය තනිවම සිදු නොවේ.
ඩැනියෙල් එම්

13
An ඩැනියෙල්එම්: එස්එස්එච්-ඒජන්ත භාවිතා කිරීම සඳහා එස්එස්එච් වෙත කරුණු දෙකක් අවශ්‍ය වේ: පසුබිමේ ධාවනය වන එස්එස්-ඒජන්ත නිදසුනක්, සහ පරිසර විචල්‍ය කට්ටලයක් එස්එස්එච් වෙත පවසන අතර SSH_AUTH_SOCKඒජන්තයට ( IIRC) සම්බන්ධ වීමට කුමන සොකට් එක භාවිතා කළ යුතු දැයි . ඔබ දැන් ධාවනය කරන්නේ ssh-agentනම් නියෝජිතයා ආරම්භ වනු ඇත, නමුත් SSH හට එය සොයාගත හැකි ස්ථානයක් නොදැනේ.
වැනේසා ෆිප්ස්

4
පිළිතුරු දීමට ස්තූතියි. මම දැක්කා ඔබ විධානයෙහි backquote භාවිතා කළ බව. පසු විපරම (`) එවාල් විධානය සඳහා ක්‍රියා කරන නමුත් මගේ බැෂ් කවචයේ තනි / ද්විත්ව උපුටා දැක්වීම් (',") නොවන්නේ මන්දැයි මම ව්‍යාකූල වී සිටිමි.
වයිෂි සෙන්ග්

546

මම වෙනත් විසඳුම් අත්හදා බැලුවද එයින් කිසිදු .ලක් නොවීය. මම තවත් පර්යේෂණ කළ අතර පහත දැක්වෙන විධානය ක්‍රියාත්මක වන බව මට පෙනී ගියේය. මම වින්ඩෝස් 7 සහ ගිට් බෑෂ් භාවිතා කරමි .

eval $(ssh-agent)

වැඩි විස්තර: https://coderwall.com/p/rdi_wq


14
වින්ඩෝස් 8 හි ද වැඩ කර ඇත.
ඇන්ඩ්‍රියාස් රුඩොල්ෆ්

මම වින්ඩෝස් 7 සහ ගිට් බෑෂ් ද භාවිතා කරමි, මගේ පිළිතුර හොඳින් ක්‍රියාත්මක වේ. ඔබටත් මේ ආකාරයෙන් එය කළ හැකි බව සිසිල් ය.

2
මහා !! වින්ඩෝස් 10 සමඟ ද වැඩ කර ඇත.
නිටින් එම්


2
Windows eval "$ (ssh-agent -s)" වින්ඩෝස් 10 හි මා වෙනුවෙන් වැඩ කළේය
ඇන්ඩ rew ඇන්ඩර්සන්

267

පහත දැක්වෙන විධානය මා වෙනුවෙන් වැඩ කළේය. මම CentOS භාවිතා කරමි.

exec ssh-agent bash

3
ස්තූතියි, මෙය මට වැඩ කළා, මම මගේ කවචය සඳහා 'exec ssh-agent zsh' දිව්වා.
jasonmcclurg

2
අනුව මෙම මකා දමන "පිළිතුර" , එය ද ඇමේසන් ලිනක්ස් AMI මත ක්රියා කරයි. මම හිතන්නේ එය යුනික්ස් / ලිනක්ස් / * නික්ස් විසඳුමක්.

4
මම ඩොකර් කන්ටේනරයකට දැමූ අතර එය ssh-add my.id_rsaමා අසමත් වනු ඇත. නමුත් exec ssh-agent zshමට ssh-addකිසිම ගැටළුවක් නැති පරිසරයක් දුන්නා . මම මගේ ඩොකර් කන්ටේනරය තුළ සිටිමි :)
markuz-gj

කරුණාකර ගැටලුව කෙටියෙන් විස්තර කිරීමට කිසිවෙකුට හැකිද? ස්තූතියි :) මෙය මගේ උබුන්ටු 14.04 හි ද ක්‍රියාත්මක විය.
harkirat1892

217

MsysGit හෝ සිග්වින්

ඔබ Msysgit හෝ Cygwin භාවිතා කරන්නේ නම් SSH-Agent හි msysgit සහ cygwin සහ bash හි හොඳ නිබන්ධනයක් සොයාගත හැකිය :

  1. .bashrcඔබගේ නිවසේ ෆෝල්ඩරයට කැඳවූ ගොනුවක් එක් කරන්න .

  2. ගොනුව විවෘත කර අලවන්න:

    #!/bin/bash
    eval `ssh-agent -s`
    ssh-add
  3. මෙය ඔබගේ යතුර සාම්ප්‍රදායික ~/.ssh/id_rsaස්ථානයේ ඇතැයි උපකල්පනය කරයි . එය එසේ නොවේ නම්, විධානයෙන් පසුව සම්පූර්ණ මාර්ගයක් ඇතුළත් කරන්න ssh-add.

  4. ~/.ssh/configඅන්තර්ගතය සමඟ ගොනුවක් එක් කරන්න හෝ සාදන්න

    ForwardAgent yes
    

    මුල් නිබන්ධනයේ දී ForwardAgentපරාමිතිය වේ Yes, නමුත් එය යතුරු ලියනයකි . සියලුම කුඩා අකුරු භාවිතා කරන්න, නැතිනම් ඔබට දෝෂ ලැබෙනු ඇත.

  5. Msysgit නැවත ආරම්භ කරන්න. එය ඔබගේ මුරපදය එක් වරක් ඇතුළත් කිරීමට ඔබෙන් අසනු ඇත, එය එයයි (ඔබ සැසිය අවසන් කරන තුරු හෝ ඔබේ ssh- නියෝජිතයා මරා දමන තුරු.)

මැක් / ඕඑස් එක්ස්

ඔබ ටර්මිනලයක් විවෘත කරන සෑම අවස්ථාවකම නව ssh-agent ආරම්භ කිරීමට ඔබට අවශ්‍ය නැතිනම්, Keychain බලන්න . මම දැන් මැක් එකක සිටිමි, එබැවින් එය සැකසීමට මැක් ඕඑස් එක්ස් හි zsh සහ යතුරුපුවරුව සමඟ නිබන්ධනය භාවිතා කළෙමි, නමුත් ගූගල් සෙවුමකට වින්ඩෝස් සඳහා බොහෝ තොරතුරු ඇති බව මට විශ්වාසයි.

යාවත්කාලීන කිරීම : මැක්හි වඩා හොඳ විසඳුමක් වන්නේ ඔබේ යතුර මැක් ඕඑස් යතුරු පුවරුවට එක් කිරීමයි:

ssh-add -K ~/.ssh/id_rsa

ඒ තරම් සරළයි.



1
මම eval `ssh-agent -s`සිග්වින් වලින් පිටවන විට ක්‍රියාවලිය නතර නොවේ.
කිරිල්

වින්ඩෝස් / ගිට්බෑෂ් සඳහා වින්‍යාසය සැකසීමට ක්‍රමයක් තිබේද, එවිට ඔබට එය සෑම විටම කළ යුතු නොවේද?
mix3d

4
එය විය යුතුය ps -u $(whoami) | grep ssh-agent &> /dev/null || eval $(ssh-agent)- එසේ නොමැති නම් සෑම විටම නව ssh-agent ආරම්භ වේ. පරිශීලකයාට ක්‍රොන්ජොබ් ඇති විට සෑම විටම මගේ යන්ත්‍රය මරා දැමීය.
කඩදාසි ඉරා දැමීම

3
ForwardAgent yesඅවශ්‍ය නොවන අතර එය කිසියම් විශ්වාසදායක සේවාදායකයක් සඳහා සකසා ඇත්නම් එය න්‍යායාත්මක නොවන ආරක්ෂක අවදානමකි . මෙම සැකසුම නොසලකා ඔබගේ යතුරු-නියෝජිතයාට දේශීය ප්‍රවේශය ක්‍රියාත්මක විය යුතුය.
SeldomNeedy

212

ඔබගේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කළ නොහැක

මෙම දෝෂය නිරාකරණය කිරීම සඳහා:

bash:

$ eval `ssh-agent -s`

tcsh:

$ eval `ssh-agent -c`

ssh-addඔබ සාමාන්‍යයෙන් මෙන් භාවිතා කරන්න.


උණුසුම් ඉඟිය:

ඉහත ssh-agent විධාන සඳහා ටයිප් කළ යුතු දේ මට සැමවිටම අමතක විය, එබැවින් මම මගේ .bashrcගොනුවේ අන්වර්ථයක් නිර්මාණය කළෙමි :

alias ssh-agent-cyg='eval `ssh-agent -s`'

දැන් භාවිතා කරනවා වෙනුවට ssh-agentමට භාවිතා කළ හැකියssh-agent-cyg

උදා

$ ssh-agent-cyg
SSH_AUTH_SOCK=/tmp/ssh-n16KsxjuTMiM/agent.32394; export SSH_AUTH_SOCK;
SSH_AGENT_PID=32395; export SSH_AGENT_PID;
echo Agent pid 32395;
$ ssh-add ~/.ssh/my_pk

නිවැරදි කිරීමේ මුල් ප්‍රභවය:

http://cygwin.com/ml/cygwin/2011-10/msg00313.html


3
ඔබ කලින් ධාවනය කළ evalසෑම අවස්ථාවකම ඔබට විධානය ක්‍රියාත්මක කිරීමට අවශ්‍ය වනු ඇත ssh-agent. මම දැන් අන්වර්ථයක් භාවිතා කරමි, මම මෙය කරන්නේ කෙසේද යන්න සඳහා යාවත්කාලීන කළ පිළිතුර බලන්න.
ක්‍රිස් ස්නෝ


මට https වෙනුවට ssh පිරිවිතර භාවිතා කිරීමට අවශ්‍ය විය ( help.github.com/articles/changing-a-remote-s-url බලන්න )
RunHolt

1
සර්, ඔබ නියමයි. ස්තූතියි. ** බිට්බකට් රිපෝවක් ක්ලෝන කරන අතරතුරේදී මටද එම ගැටලුවටම මුහුණ දීමට සිදු විය, මම දැනටමත් ssh යතුරක් සකසා ඇත, නමුත් දිගින් දිගටම දෝෂයක් ඇති විය : fatal: Could not read from remote repository..
නිශාන්ත් ගොඩ්කේ

වින්ඩෝස් 10 හි මා වෙනුවෙන් වැඩ කළ අතර
ගිට් බාෂ්

124

දුවන්න

ssh-agent bash
ssh-add

වැඩි විස්තර ලබා ගැනීම සඳහා ඔබට සෙවිය හැකිය

ssh-agent

හෝ ධාවනය කරන්න

man ssh-agent

7
මම නිර්දේශ කරන්නේ ඔබ කවුළු මත git bash සමඟ වැඩ කරන්නේ නම් මෙය උත්සාහ කරන්න.
නීරාජ් සෙවානි

er neer17 මෙය මට ssh-copy-idඋබුන්ටු මත භාවිතා කිරීමට ඉඩ ලබා දුන්නේය . බාෂ් ssh-agentදියත් කිරීමට භාවිතා නොකර මට යතුර එක් කළ නොහැක්කේ මන්දැයි සැක නැත .
SomeGuyOnAComputer

2
වින්ඩෝස් සඳහා මෙයයි! (W10pro build 1809 සහ git 2.21.0 මත පරීක්ෂා කර ඇත)
ඇල්ෆබ්‍රාවෝ

1
මම ZSH භාවිතා කරන අතර මෙය මට වැඩ කරයි:ssh-agent zsh; ssh-add
herrera

118

ssh-add සහ ssh (ඔබ opensh ක්‍රියාත්මක කිරීම් භාවිතා කරයි යැයි උපකල්පනය කරන්න) ssh නියෝජිතයා සමඟ කතා කරන්නේ කෙසේදැයි දැන ගැනීමට පරිසර විචල්‍යයක් අවශ්‍ය වේ. ඔබ දැන් භාවිතා කරන යන්ත්‍රයට වෙනත් විධාන විමසුම් කවුළුවකින් නියෝජිතයා ආරම්භ කළේ නම් හෝ ඔබ එය වැරදියට ආරම්භ කළේ නම්, ssh-add හෝ ssh විසින් එම පරිසර විචල්‍ය කට්ටලය නොදකිනු ඇත (පරිසර විචල්‍යය දේශීයව විධානයට සකසා ඇති නිසා එය සකසා ඇති බව විමසන්න).

ඔබ භාවිතා කරන්නේ කුමන ssh අනුවාදයදැයි ඔබ නොකියයි, නමුත් ඔබ සිග්වින් භාවිතා කරන්නේ නම්, ඔබට මෙම වට්ටෝරුව සිග්වින් හි SSH නියෝජිතයා වෙතින් භාවිතා කළ හැකිය :

# Add to your Bash config file
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
    eval `$SSHAGENT $SSHAGENTARGS`
    trap "kill $SSH_AGENT_PID" 0
fi

මෙය ඔබ විවෘත කරන සෑම නව විධාන විමසුම් කවුළුවක් සඳහාම ස්වයංක්‍රීයව නියෝජිතයෙකු ආරම්භ කරනු ඇත (ඔබ එක් සැසියකදී බහු විධාන විමසීම් විවෘත කළහොත් එය උපපෝෂිත වේ, නමුත් අවම වශයෙන් එය ක්‍රියාත්මක විය යුතුය).



9
වෙනත් SO ප්‍රශ්නයකින් මා මෙහි සම්බන්ධ විය. මෙය Bash වින්‍යාස ගොනුවට එක් කිරීම අවශ්‍ය වන්නේ මන්දැයි මට විමසිය හැකිද? මගේ යන්ත්‍රයේ මා කළ යුත්තේ ධාවනය වන eval $(ssh-agent)අතර සෑම නව පර්යන්ත කවුළුවක් සඳහාම මුරපදය අඩු ssh භාවිතා කළ හැකිය.
ඇන්ඩි ජේ

ඔබ එම පර්යන්තයෙන් නව පර්යන්ත දියත් කරන්නේ නම් මිස එය කළ නොහැකි ය.
රොබින් ග්‍රීන්

117

මම ලිනක්ස් සඳහා එකම ගැටලුවකට මුහුණ දුන් අතර මෙන්න මම කළේ:

මූලික වශයෙන්, ssh-agent විධානය මඟින් නියෝජිතයා ආරම්භ කරයි, නමුත් එය ක්‍රියාත්මක වීමට පරිසර විචල්‍යයන් සැබවින්ම සකසන්නේ නැත. එය එම විචල්‍යයන් කවචයට ප්‍රතිදානය කරයි.

ඔයාට අවශ්යයි:

eval `ssh-agent`

ඉන්පසු ssh-add කරන්න. ඔබගේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කළ නොහැකි බව බලන්න .



වින්ඩෝස් හි boot2docker භාවිතා කිරීමේ ගැටලුවක් ඇති අතර මා වෙනුවෙන්ද වැඩ කළේය.
Veve

මෙය මට අවශ්‍ය විය.
ටොම්

97

පහත පියවර වලට උත්සාහ කරන්න:

1) Git Bash විවෘත කර ධාවනය කරන්න: cd ~/.ssh

2) නියෝජිතයා ධාවනය කිරීමට උත්සාහ කරන්න: eval $(ssh-agent)

3) දැන්, ඔබට පහත විධානය ක්‍රියාත්මක කළ හැකිය: ssh-add -l


9
මෙහි මා වෙනුවෙන් වැඩ කළ එකම විසඳුම මෙයයි (වින්ඩෝස් 7 හි). පළමුවෙන්ම මම නියෝජිතයන් kill ාතනය කිරීම සඳහා රික්ගේ පිළිතුරෙහි ps aux | grep sshසහ killවිධානය භාවිතා කළෙමි . ssh-add-L ස්විචය නොමැතිව වැඩ කිරීමෙන් පසුව (-l භාවිතා කිරීම දෝෂයක් ලබා දුන්නේය). eval 'ssh-agent'රික්ගේ පිළිතුර eval $(ssh-agent)ක්‍රියාත්මක නොවූවාක් මෙන් , මට මෙහි චෙචෝරෝගේ පිළිතුර මෙන් භාවිතා කිරීමට සිදුවිය.
ගෙම්බා

6
+1 මට OP (වින්ඩෝස් 7) හා සමාන ගැටළුවක් ඇති අතර මට වැඩ කළ එකම විසඳුම මෙයයි.
වෙබ්ලර්ක්


2
RFrug එය උපස්ථරයන් මිස අපෝස්තලිකයන් නොවේ; ෂෙල් ස්ක්‍රිප්ටයේ එයින් අදහස් කරන්නේ ඇතුළත ඇති දේ ක්‍රියාත්මක කිරීමයි. $(ssh-agent)සමාන `ssh-agent`නමුත් වඩා කියවිය හැකි ය.
එම්එම්

97

භාවිතා කරනවා වෙනුවට $ ssh-agent -sමම $ eval `ssh-agent -s`මෙම ගැටළුව විසඳීමට පුරුදුව සිටියෙමි .

මෙන්න මම පියවරෙන් පියවර සිදු කළ දේ (GitBash හි පියවර 2 සිට):

  1. මගේ .ssh ෆෝල්ඩරය පිරිසිදු කර ඇත C:\user\<username>\.ssh\
  2. නව SSH යතුරක් ජනනය කළේය
    $ ssh-keygen -t rsa -b 4096 -C "xyz@abc.com"
  3. කිසියම් ක්‍රියාදාම හැඳුනුම්පතක් (ssh agent) දැනටමත් ක්‍රියාත්මක වේදැයි පරීක්ෂා කරන්න.
    $ ps aux | grep ssh
  4. (අත්‍යවශ්‍ය නොවේ) 3 වන පියවරේ කිසියම් දෙයක් හමු වුවහොත්, ඔවුන් මරා දමන්න
    $ kill <pids>
  5. Ssh නියෝජිතයා ආරම්භ කළේය
    $ eval `ssh-agent -s`
  6. 2 වන පියවරෙන් උත්පාදනය කරන ලද ssh යතුර ssh නියෝජිතයාට එකතු කරන ලදි
    $ ssh-add ~/.ssh/id_rsa

3
'eval' අභ්‍යන්තර හෝ බාහිර විධානයක්, ක්‍රියාකාරී වැඩසටහනක් හෝ කණ්ඩායම් ගොනුවක් ලෙස හඳුනාගෙන නොමැත.
චුටිපොං රූබ්ක්ලොම්

ඔබට එවාල් මඟින් නියෝජිතයා නැවත ආරම්භ ssh-agent -sකර ssh-add ~ / .ssh / id_rsa භාවිතා කර පැරණි යතුර එක් කළ හැකිය. ඔබ නව SSH යතුරක් ජනනය කරන්නේ නම්, ඔබේ සියලු සේවාවන් වන ගිතුබ්, බිට්බකට් යනාදිය යාවත්කාලීන කිරීමට ඔබට අවශ්‍ය වනු ඇත
මෝහිත් සතීෂ් පවර්

වින්ඩෝස් නැවත ආරම්භ කිරීමෙන් මෙය නොනැසී පැවතීමට ක්‍රමයක් තිබේද? නැවත ආරම්භ කිරීමෙන් පසු මම නැවත "eval ssh-agent -s" සහ "ssh-add ~ / .ssh / id_rsa" දියත් කරන තුරු එය ක්‍රියා නොකරයි .
මයිකල් වීෂන්


විශිෂ්ට පැහැදිලි කිරීමක්!
avivamg

57

වින්ඩෝස් 10 හි මම මෙහි ලැයිස්තුගත කර ඇති සියලුම පිළිතුරු උත්සාහ කළ නමුත් ඒ කිසිවක් ක්‍රියාත්මක නොවන බව පෙනේ. ඇත්ත වශයෙන්ම ඔවුන් හෝඩුවාවක් ලබා දෙයි. ගැටලුවක් විසඳීමට ඔබට විධාන 3 ක් අවශ්‍ය වේ. මෙම ගැටළුවේ අදහස නම්, ssh-add සඳහා SSH_AUTH_SOCK සහ SSH_AGENT_PID පරිසර විචල්‍යයන් වත්මන් ssh-agent මේස් ගොනු මාර්ගය සහ pid අංකය සමඟ සැකසීමට අවශ්‍ය බවයි.

ssh-agent -s > temp.txt

මෙය ගොනුවේ ssh-agent හි ප්‍රතිදානය සුරකිනු ඇත. පෙළ ගොනු අන්තර්ගතය මෙවැනි දෙයක් වනු ඇත:

SSH_AUTH_SOCK=/tmp/ssh-kjmxRb2764/agent.2764; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3044; export SSH_AGENT_PID;
echo Agent pid 3044;

පෙළ ගොනුවෙන් "/tmp/ssh-kjmxRb2764/agent.2764" වැනි දෙයක් පිටපත් කර පහත විධානය සෘජුවම කොන්සෝලය තුළ ක්‍රියාත්මක කරන්න:

set SSH_AUTH_SOCK=/tmp/ssh-kjmxRb2764/agent.2764

පෙළ ගොනුවෙන් "3044" වැනි දෙයක් පිටපත් කර පහත විධානය සෘජුවම කොන්සෝලය තුළ ක්‍රියාත්මක කරන්න:

set SSH_AGENT_PID=3044

වර්තමාන කොන්සෝල සැසිය සඳහා පරිසර විචල්‍යයන් (SSH_AUTH_SOCK සහ SSH_AGENT_PID) සකසා ඇති විට ඔබේ ssh-add විධානය ක්‍රියාත්මක වන අතර එය ssh නියෝජිතයා සම්බන්ධ කිරීමට නැවත අසමත් නොවේ.


2
ඔබට ස්තුතියි! මට අවශ්‍ය වූයේ මෙයයි.
සමස්ථානික

6
නැත, තවමත් එසේමය.
ජැස්කි

3
මෙම පියවර 'eval $ (ssh-agent)' කිරීම හා සමාන වේ
K.Nicholas

2
මගේ වින්ඩෝස් 10 හි ස්ථාවරයි! ඔබට ස්තුතියි!
ntl

1
මෙය ඇත්ත වශයෙන්ම මට ලිනක්ස් හි ගැටළුව සුරැකීමට උපකාරී විය ... ආදේශ කිරීමට අවශ්‍ය setවූයේexport
ග්‍රෙග් හෝර්

31

මට හමු වූ එක් දෙයක් නම් eval, සිග්වින් භාවිතා කිරීම සඳහා මට වැඩ නොකිරීම, මට වැඩ කළ දෙයයි ssh-agent ssh-add id_rsa.

ඊට පසු මගේ පුද්ගලික යතුර විවෘතව පවතින බවට මට ප්‍රශ්නයක් ඇති විය, ඒ සඳහා මට විසඳුම සොයා ගැනීමට හැකි විය ( මෙතැන් සිට ):

chgrp Users id_rsa

මෙන්ම

chmod 600 id_rsa

අවසානයේ මට භාවිතා කිරීමට හැකි විය:

ssh-agent ssh-add id_rsa

ඔබ භාවිතා කළේ eval `ssh-agent`ද backticks සමග, `පමණ ssh-agentදක්වා ඇති ආකාරයට, මගේ පිළිතුර ? එය සිග්වින්හි මට හොඳට වැඩ කළා. ඔබ නිවැරදි බව පෙනේ ssh-agent ssh-add, එය අවම වශයෙන් msysgit Bash හි වුවද ක්‍රියාත්මක වේ. කෙසේ වෙතත්, එය id_rsaභාවිතා කරන පෙරනිමි යතුර බව සලකන්න , එබැවින් ඔබට එය සඳහන් කිරීමට අවශ්‍ය නොවේ ssh-agent ssh-add id_rsa.

මම විශ්වාස කරන්නේ මම බැක්ටික්ස් භාවිතා කර ඇති බවයි, නමුත් මට තවමත් ඩයිස් නැත
Vnge

1
OMG ඔබ මගේ පැය කිහිපය විසඳුවා. ස්තූතියි!
චේ ලූං ඉක්මනින්

27

වින්ඩෝස් 7 සඳහා n3o හි පිළිතුර වැඩි කිරීමට ...

මගේ ගැටළුව ඇත්ත වශයෙන්ම අවශ්‍ය පරිසර විචල්‍යයන් සකසා නොතිබීම සහ n3o නිවැරදියි, එම පරිසර විචල්‍යයන් සකසන්නේ කෙසේදැයි ssh-agent ඔබට පවසන නමුත් ඇත්ත වශයෙන්ම ඒවා සකසන්නේ නැත.

වින්ඩෝස් ඔබට "එවාල්" කිරීමට ඉඩ නොදෙන බැවින් ඒ වෙනුවට කළ යුතු දේ මෙන්න:

Ssh-agent හි ප්‍රතිදානය කණ්ඩායම් ගොනුවකට හරවන්න

ssh-agent > temp.bat

දැන් temp.bat සංස්කරණය කිරීමට නොට්පෑඩ් වැනි පෙළ සංස්කාරකයක් භාවිතා කරන්න. පළමු පේළි දෙක සඳහා: - "සෙට්" යන වචනය සහ පේළියේ ආරම්භයේ ඉඩක් ඇතුළත් කරන්න. - පළමු අර්ධ සළකුණ සහ ඉන් පසුව ඇති සියල්ල මකන්න.

දැන් තුන්වන පේළිය මකන්න. ඔබේ temp.bat මේ වගේ දෙයක් විය යුතුයි:

set SSH_AUTH_SOCK=/tmp/ssh-EorQv10636/agent.10636
set SSH_AGENT_PID=8608

Temp.bat ධාවනය කරන්න. මෙමඟින් ssh-add වැඩ කිරීමට අවශ්‍ය පරිසර විචල්‍යයන් සැකසෙනු ඇත.



Could not open a connection to your authentication agent.Win10 PowerShell හි ssh-add ධාවනය කරන විට මට තවමත් ලැබේ .
කෙබ්මන්

19

මට මේ වැඩේ ලැබුණා. ඔබේ ~/.ssh/configගොනුව විවෘත කරන්න .

පහත සඳහන් දෑ එකතු කරන්න-

Host github.com
 IdentityFile ~/.ssh/github_rsa

මට ඉඟියක් ලබා දුන් පිටුවේ Git සඳහා SSH පිහිටුවීම තනි අභ්‍යවකාශ ඉන්ඩෙන්ටේෂන් වැදගත් බව පැවසුවා ... හෙරොකු වෙතින් මට මෙහි වින්‍යාසයක් තිබුණද එම අවකාශය නොමැති අතර නිසි ලෙස ක්‍රියා කරයි.


1
SSH යතුර සඳහා මුරපදය ඇතුළත් කිරීමට මෙය උදව් නොකරයි.
alesch

1
ඔබට මුරපදය ඇතුළත් කිරීමට අවශ්‍ය නැතිනම්, එකක් නොමැතිව යතුරක් සාදන්න. ඔබ එය කෙසේ හෝ ඔබගේ ස්ක්‍රිප්ටයේ ගබඩා කිරීමට යන්නේ නම් මුරපදයක් තිබීමෙන් පලක් නැත.
පෝල් බෙකෝට්

Ssh-agent භාවිතා කිරීමේ සම්පූර්ණ කරුණ එයයි. ඔබගේ යතුරු සඳහා මුරපදය ssh-agent විසින් හසුරුවන ආරක්ෂිත යතුරු පුවරුවක ගබඩා කර ඇත.
alesch

මෙහි මට ඇති හොඳම පිළිතුර මෙයයි. වින්ඩෝස් 7 හි දහස් වාරයක් ආරම්භ වන ssh-agent සමඟ ගැටලු රාශියක් තිබුනද එම kill ාතන උගුල උපක්‍රමය කළේ නැත. මගේ පුද්ගලික පරිගණකයේ නිවසේ මුරපදයක් නොතිබීම මට ප්‍රශ්නයක් නොවේ.
Fleshgrinder

19

කවුළු භාවිතා කරන්නන් සඳහා, cmd eval `ssh-agent -s`ක්‍රියා නොකරන බව මට පෙනී ගියේය , නමුත් git bash භාවිතා කිරීම සංග්‍රහයක් ලෙස ක්‍රියා කළ eval `ssh-agent -s`; ssh-add KEY_LOCATIONඅතර වින්ඩෝස් සේවාව "OpenSSH යතුරු කළමනාකරණය" අක්‍රීය කර නොමැති බවට වග බලා ගන්න.


18

ඔබ මෙම උපදෙස් අනුගමනය කරන්නේ නම්, ඔබේ ගැටළුව විසඳනු ඇත.

ඔබ මැක් හෝ ලිනක්ස් යන්ත්‍රයක සිටී නම්, ටයිප් කරන්න:

eval "$(ssh-agent -s)"

ඔබ වින්ඩෝස් යන්ත්‍රයක සිටී නම්, ටයිප් කරන්න:

ssh-agent -s

13

මට තවත් විසඳුමක් ඉදිරිපත් කිරීමට ඉඩ දෙන්න. ඔබ දැන් Git 1.8.2.2 ස්ථාපනය කර ඇත්නම් හෝ ඔබට SSH සක්‍රීය කිරීමට අවශ්‍ය නම්, හොඳින් ලියා ඇති උපදෙස් අනුගමනය කරන්න .

පියවර 5.6 දක්වා සෑම දෙයක්ම ඔබට සුළු කම්පනයක් ඇතිවිය හැකිය. SSH නියෝජිතයෙකු දැනටමත් ක්‍රියාත්මක වන්නේ නම්, ඔබ නැවත ආරම්භ කරන විට පහත දෝෂ පණිවිඩය ලබා ගත හැකිය

Could not open a connection to your authentication agent

ඔබ එසේ කරන්නේ නම්, පහත දැක්වෙන විධානය භාවිතා කර ssh-agent ක්‍රියාවලියකට වඩා ක්‍රියාත්මක වේදැයි බලන්න

ps aux | grep ssh

ඔබ එක් ssh-agent සේවාවක් එකකට වඩා දුටුවහොත්, ඔබට මෙම සියලු ක්‍රියාවලීන් විනාශ කිරීමට අවශ්‍ය වනු ඇත. Kill විධානය පහත පරිදි භාවිතා කරන්න (ඔබේ පරිගණකයේ PID අද්විතීය වනු ඇත)

kill <PID>

උදාහරණයක්:

kill 1074

ඔබ සියලු ssh-agent ක්‍රියාවලි ඉවත් කළ පසු, px aux | ධාවනය කරන්න grep ssh විධානය නැවත නැති වී ඇති බවට වග බලා ගන්න, ඉන්පසු Bash නැවත ආරම්භ කරන්න.

Voila, ඔබ දැන් මේ වගේ දෙයක් ලබා ගත යුතුයි:

Initializing new SSH agent...
succeeded
Enter passphrase for /c/Users/username/.ssh/id_rsa:

දැන් ඔබට පියවර 5.7 සහ ඉන් ඔබ්බට ඉදිරියට යා හැකිය.


මාව මාර්ග බාධකයක් පසු කළා, tyvm
ජේසන් ෆින්ගාර්

මගේ නඩුවේ ලැයිස්තුගත කර ඇති එක් අයිතමයක් වන්නේ අප සෙවීම සිදුකරන grep ක්‍රියාවලිය බව එකතු කිරීමට අවශ්‍ය වූ නමුත් එය ක්‍රියාත්මක කිරීමෙන් පසු එය දැනටමත් මරා දමා ඇත. ද pun ුවමක් අදහස් නොකෙරේ.
රයන් මෝර්ටෙන්සන්


12

සටහන: මෙය මෙම ප්‍රශ්නයට පිළිතුරක් වන අතර එය මෙම ප්‍රශ්නය සමඟ ඒකාබද්ධ කර ඇත. එම ප්‍රශ්නය වින්ඩෝස් 7 සඳහා වූ අතර එයින් අදහස් කළේ මගේ පිළිතුර සිග්වින් / එම්එස්වයිඑස් / එම්එස්වයිඑස් 2 සඳහා ය. මෙය සමහරක් යුනික්ස් සඳහා පෙනේ, එහිදී SSH නියෝජිතයා මේ ආකාරයෙන් කළමනාකරණය කරනු ඇතැයි මම අපේක්ෂා නොකරමි .

මෙය SSH නියෝජිතයා ධාවනය කර ඔබට අවශ්‍ය පළමු අවස්ථාව පමණක් සත්‍යාපනය කරනු ඇත , ඔබ ඔබේ Bash පර්යන්තය විවෘත කරන සෑම අවස්ථාවකම නොවේ. එස්එස්එච් සහ එස්පීපී ඇතුළුව පොදුවේ SSH භාවිතා කරන ඕනෑම වැඩසටහනක් සඳහා එය භාවිතා කළ හැකිය. මෙය මෙයට එක් කරන්න /etc/profile.d/ssh-helper.sh:

ssh-auth() {
    # Start the SSH agent only if not running
    [[ -z $(ps | grep ssh-agent) ]] && echo $(ssh-agent) > /tmp/ssh-agent-data.sh

    # Identify the running SSH agent
    [[ -z $SSH_AGENT_PID ]] && source /tmp/ssh-agent-data.sh > /dev/null

    # Authenticate (change key path or make a symlink if needed)
    [[ -z $(ssh-add -l | grep "/home/$(whoami)/.ssh/id_rsa") ]] && ssh-add
}

# You can repeat this for other commands using SSH
git() { ssh-auth; command git "$@"; }


2
ssh-agent ක්‍රියාවලිය එය ක්‍රියාත්මක කිරීමට භාවිතා කරන එකම පර්යන්තය සමඟ සම්බන්ධ වී ඇති බවක් නොපෙනේ. මම හිතන්නේ ps -A | grep ssh-agentහෝ ps h -C ssh-agentඒ වෙනුවට භාවිතා කළ යුතුයිps | grep ssh-agent
ඇලෙක්සිස්

1
ශ්‍රිත නාමයෙන් යටි ඉරක් භාවිතා කිරීම නිර්දේශ නොකරයි. හේතුව මම නොදනිමි, නමුත් මෙය කියවන්න . උදාහරණයක් ලෙස, echo ssh-auth | bashඑය අසාර්ථක වන බව මට පෙනී ගියේය.
ඇලෙක්සිස්

1
ඔබට මෙය තව ටිකක් සරල කළ හැකිය. එය ක්‍රියාත්මක වේදැයි පරීක්ෂා කර env විචල්‍යයන් පවරන්න. ඉන්පසු ඔබගේ ssh වින්‍යාස සටහනට එක් කරන්න AddKeysToAgent yes(හෝ භාවිතා කරන්න prompt) ( Host *සියලුම සත්කාරක සමාගම් සඳහා භාවිතා කරන්න .) ඒ ආකාරයෙන් ඔබෙන් විමසනු ලබන්නේ ඔබ සැබවින්ම සම්බන්ධ වීමට උත්සාහ කරන්නේ නම් පමණි. එසේ නොමැතිනම් සරල git diffහෝ මුරපදයක් ඔබෙන් අසනු git statusඇත.
ST-DDT

2
$HOME/.sshවඩා ශක්තිමත් විය හැකිය/home/$(whoami)/.ssh
අරි ස්වීඩ්ලර්

12

මට එකම ගැටලුවක් ඇති Ubuntuඅතර අනෙක් විසඳුම් මට උදව් කළේ නැත. මගේ ගැටලුව කුමක්දැයි මට අවසානයේ වැටහුණි. මම මගේ sshයතුරු /root/.sshෆෝල්ඩරයේ නිර්මාණය කර ඇත්තෙමි , එබැවින් මම ssh-addroot ලෙස දිව ගියත් එයට එහි වැඩ කටයුතු කරගෙන යාමට නොහැකි විය

Could not open a connection to your authentication agent.

මම මගේ ssh පොදු සහ පෞද්ගලික යතුරු /home/myUsername/ෆෝල්ඩරයේ නිර්මාණය කළ අතර මම භාවිතා කළෙමි

ssh-agent /bin/sh

ඊට පස්සේ මම දිව්වා

ssh-add /home/myUsername/.ssh/id_rsa

ගැටලුව මේ ආකාරයෙන් විසඳනු ලැබීය.

සටහන:git ඔබ sshයතුරු සාදන විට ඔබේ git මුරපදය එක් කිරීමෙන් ඔබේ ගබඩාවට ප්‍රවේශ වීම සඳහා ssh-keygen -t rsa -C "your git email here".


9

ඔබ සේවාදායකයට සම්බන්ධ වන විට -A පරාමිතිය භාවිතා කරන්න, උදාහරණයක් ලෙස:

ssh -A root@myhost

මිනිසා පිටුවෙන්:

-A Enables forwarding of the authentication agent connection.  
   This can also be specified on a per-host basis in a configuration file.

   Agent forwarding should be enabled with caution.  Users with the ability to bypass file permissions on the remote host (for the agent's
   UNIX-domain socket) can access the local agent through the forwarded 
   connection.  An attacker cannot obtain key material from the agent,
   however they can perform operations on the keys that enable them to
   authenticate using the identities loaded into the agent.

එය කරන්නේ කුමක්ද සහ ඇයි?
erikbwork

man පිටුවට අනුව ... man ssh ... -A සත්‍යාපන නියෝජිත සම්බන්ධතාවය ඉදිරියට යැවීම සක්‍රීය කරයි. වින්‍යාස ගොනුවක එක් සත්කාරක පදනමක් මත මෙය නියම කළ හැකිය.
ස්කොට් ස්ටෙන්ස්ලන්ඩ්

8

ධාවනය සඳහා මූලික විසඳුම ssh-agentබොහෝ පිළිතුරු වලින් පිළිතුරු සපයයි. කෙසේ වෙතත්, ssh-agentබොහෝ වාරයක් ධාවනය කිරීමෙන් (එක් එක් විවෘත කළ පර්යන්තයකට හෝ දුරස්ථ පිවිසුමකට) ssh-agentමතකයේ ධාවනය වන පිටපත් රාශියක් නිර්මාණය වේ. වැලැක්විමට යෝජනා කරන ප්රශ්නයක් දිගු හා අවශ්යතාව කපා ඇත සහ / හෝ වෙන් ගොනු හෝ බොහෝ නූල් ලිවීමට අවශ්ය පිටපත් බව පිටපත් ~/.profileහෝ ~/.schrc. මට යෝජනා කිරීමට ඉඩ දෙන්නසරල සරල විසඳුම් දෙකක් :

සඳහා sh , bash , ආදිය:

# ~/.profile
if ! pgrep -q -U `whoami` -x 'ssh-agent'; then ssh-agent -s > ~/.ssh-agent.sh; fi
. ~/.ssh-agent.sh

සඳහා csh , tcsh , ආදිය:

# ~/.schrc
sh -c 'if ! pgrep -q -U `whoami` -x 'ssh-agent'; then ssh-agent -c > ~/.ssh-agent.tcsh; fi'
eval `cat ~/.ssh-agent.tcsh`

මෙහි ඇති දේ:

  • ක්‍රියාවලිය සොයන්න ssh-agentනම සහ වර්තමාන පරිශීලකයා විසින්
  • ඇමතීමෙන් සුදුසු ෂෙල් ස්ක්‍රිප්ට් ගොනුවක් සාදන්න ssh-agentසහ ssh-agentවත්මන් පරිශීලකයෙකු නොමැති නම් එය ක්‍රියාත්මක කරන්නssh-agent ක්‍රියාවලියක් සොයාගත නොහැකි නම් එය ක්‍රියාත්මක කරන්න
  • සුදුසු පරිසරය වින්‍යාස කරන නිර්මාණය කරන ලද ෂෙල් ස්ක්‍රිප්ට් ඇගයීම

සාදන ලද ෂෙල් ස්ක්‍රිප්ට් ~/.ssh-agent.tcshහෝ ~/.ssh-agent.shවෙනත් පරිශීලකයින්ගෙන් ප්‍රවේශ වීම ආරක්ෂා කිරීම අවශ්‍ය නොවේ : මන්දයත් මුලින් සන්නිවේදනය වෙනත් පරිශීලකයින්ට ප්‍රවේශ විය නොහැකි ssh-agentආරක්ෂිත සොකට් හරහා සකසන අතර තත්පරයට තවත් පරිශීලකයින්ට ඩිරෙක්ටරියේ ssh-agentගොනු ගණනය කිරීමෙන් සොකට් සරල බව සොයාගත හැකිය /tmp/. ssh-agentක්‍රියාවලියට ප්‍රවේශ වීම සම්බන්ධයෙන් ගත් කල එය එකම දෙයකි.



6

පැහැදිලි කිරීම් සඳහා @ කප්කේක්ගේ පිළිතුර කියවන්න . මෙන්න මම නිවැරදි කිරීම ස්වයංක්‍රීය කිරීමට උත්සාහ කරමි.

ඔබ BASH සමඟ සිග්වින් පර්යන්තය භාවිතා කරන්නේ නම්, පහත සඳහන් දෑ $ HOME / .bashrc ගොනුවට එක් කරන්න. මෙය පළමු Bash පර්යන්තයට එක් වරක් පමණක් ssh-agent ආරම්භ කර යතුරු ssh-agent වෙත එක් කරයි. (මෙය ලිනක්ස් සඳහා අවශ්‍ය දැයි විශ්වාස නැත)

###########################
# start ssh-agent for
# ssh authentication with github.com
###########################
SSH_AUTH_SOCK_FILE=/tmp/SSH_AUTH_SOCK.sh
if [ ! -e $SSH_AUTH_SOCK_FILE ]; then
    # need to find SSH_AUTH_SOCK again.
    # restarting is an easy option
    pkill ssh-agent
fi
# check if already running
SSH_AGENT_PID=`pgrep ssh-agent`
if [ "x$SSH_AGENT_PID" == "x" ]; then
#   echo "not running. starting"
    eval $(ssh-agent -s) > /dev/null
    rm -f $SSH_AUTH_SOCK_FILE
    echo "export SSH_AUTH_SOCK=$SSH_AUTH_SOCK" > $SSH_AUTH_SOCK_FILE
    ssh-add $HOME/.ssh/github.com_id_rsa 2>&1 > /dev/null
#else
#   echo "already running"
fi
source $SSH_AUTH_SOCK_FILE

ඔබේ නිවැරදි යතුරු "ssh-add" විධානයට එක් කිරීමට අමතක නොකරන්න.


5

මට මෙම ගැටළුව ඇති විය, මම ssh-agent ආරම්භ කරන විට, එය දැනටමත් ක්‍රියාත්මක වන විට. ව්යාකූලත්වයට පත්වේ. මෙය එසේ දැයි බැලීමට, භාවිතා කරන්න

eval $(ssh-agent)

මෙය ඔබ සිතූ දෙයට සමාන දැයි බැලීමට. මගේ කාරණයේදී, එය මම දැන් ආරම්භ කළ ක්‍රමයට වඩා වෙනස් ය.

ඔබ සතුව ssh-agent එකකට වඩා තිබේදැයි තවදුරටත් තහවුරු කර ගැනීමට, ඔබට සමාලෝචනය කළ හැකිය:

ps -ef | grep ssh

2
මම හිතන්නේ ධාවනය eval $(ssh-agent)කිරීම සෑම විටම වෙනස් PID සහිත නව නියෝජිතයෙකු නිර්මාණය කළ යුතු යැයි මා සිතුවත් එය වැරදියි.

4

වින්ඩෝස් හි වැඩ කිරීමට මෙය ssh හරහා ස්ටෑෂ් වෙත සම්බන්ධ කිරීමට උත්සාහ කරන විට මටද එවැනිම ගැටලුවක් ඇතිවිය

මෙන්න මට වැඩ කළ විසඳුම.

  1. මම මගේ වින්ඩෝස් පෙට්ටියේ පේජන්ට් එස්එස් ඒජන්තය ධාවනය කරමින් සිටියෙමි - ඔබ ධාවනය කරන්නේ කුමක් දැයි මම පරීක්ෂා කරමි. පුටි සහ වින් එස්සීපී සමඟ පෙරනිමියෙන් එන බැවින් එය පෙරහැරක් යැයි මම සැක කරමි

  2. Ssh-add මෙම වර්ගයේ නියෝජිතයා සමඟ විධාන රේඛාවෙන් ක්‍රියා නොකරයි

  3. කාර්ය තීරුවේ පේජන්ට් අයිකනය දෙවරක් ක්ලික් කිරීමෙන් ඔබට ලබා ගත හැකි පෙරහැර UI කවුළුව හරහා පුද්ගලික යතුර එක් කළ යුතුය (එය ආරම්භ වූ පසු).

  4. පේජන්ට් වෙත යතුර එක් කිරීමට පෙර ඔබ එය පීපීකේ ආකෘතියට පරිවර්තනය කළ යුතුය. සම්පූර්ණ උපදෙස් මෙහි ඇත SSH යතුර ppk ආකෘතියට පරිවර්තනය කරන්නේ කෙසේද

  5. එය එයයි. මම මගේ යතුර තොගයට උඩුගත කළ පසු, දේශීය ප්‍රතිමූර්තියක් නිර්මාණය කිරීමට සහ දුරස්ථය ක්ලෝන කිරීමට SourceTree භාවිතා කිරීමට මට හැකි විය.

මෙය උපකාරී වේ යැයි සිතමු ...


3

මම දෝෂය නිරාකරණය කළේ බලහත්කාරයෙන් නැවැත්වීම (මරා දැමූ) git ක්‍රියාවලි (ssh agent), පසුව Git අස්ථාපනය කිරීම සහ නැවත Git ස්ථාපනය කිරීමෙනි.


2
ඔබ කළ යුතුව ඇත්තේ දැනට පවතින ඕනෑම නියෝජිත ක්‍රියාවලියක් විනාශ කර Git නැවත ස්ථාපනය කිරීම වෙනුවට නැවත ආරම්භ කිරීම යැයි මම සැක කරමි.

3

Win8.1E හි Git Bash භාවිතා කරමින්, මගේ විභේදනය පහත පරිදි විය:

eval $(ssh-agent) > /dev/null
ssh-add ~/.ssh/id_rsa

ප්‍රතිදානය කිරීම අවශ්‍ය වන්නේ ඇයි /dev/null? ඔබගේ පිළිතුර ලෙස මූලිකව මේ දේම කරන්නේ මෙම එක් .

එසේම, ~/.ssh/id_rsaඑය පෙරනිමි යතුර බව පෙන්වා දීමට මම කැමතියි , එබැවින් ඔබ සඳහන් කළ යුතු නැත ssh-add ~/.ssh/id_rsa, ssh-addවැඩ කළ යුතුය.

මම ඔබේ විසඳුම මෙම පරිසරය තුළම උත්සාහ කළෙමි up කප්කේක්, එය ක්‍රියා නොකරයි. මෙය පිළිතුර වන්නේ මන්දැයි මට නොතේරේ, නමුත් මම මේ ආකාරයෙන් එය කළොත් මිස එය කිසි විටෙකත් ක්‍රියාත්මක නොවීය.
nighliber

3

ඔබ පුට්ටි භාවිතා කරන්නේ නම්, සමහර විට ඔබට "සම්බන්ධතාවය / එස්එස්එච් / සත්‍යාපනය / නියෝජිතයා යොමු කිරීමට ඉඩ දෙන්න" විකල්පය "සත්‍ය" ලෙස සැකසිය යුතුය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


3

මෙය මට වැඩ කළා .

CMD කවුළුව තුළ, පහත විධානය ටයිප් කරන්න:

cd path-to-Git/bin # (for example,cd C:\Program Files\Git\bin)
bash
exec ssh-agent bash
ssh-add path/to/.ssh/id_rsa

3

වින්ඩෝස් 10 හි සාදන ලද බැෂ් සඳහා, මම මෙය .bash_profile වෙත එක් කළෙමි:

if [ -z $SSH_AUTH_SOCK ]; then
    if [ -r ~/.ssh/env ]; then
            source ~/.ssh/env
            if [ `ps -p $SSH_AGENT_PID | wc -l` = 1 ]; then
                    rm ~/.ssh/env
                    unset SSH_AUTH_SOCK
            fi
    fi
fi

if [ -z $SSH_AUTH_SOCK ]; then
    ssh-agent -s | sed 's/^echo/#echo/'> ~/.ssh/env
    chmod 600 ~/.ssh/env
    source ~/.ssh/env > /dev/null 2>&1
fi

1
$(ssh-agent -s)නියෝජිතයාගේ පරිසරය සැකසීමට අමතන්නැයි ඔබට පැවසිය හැකි නම් ඔබ මෙතරම් පෙළක් ඇලවූයේ මන්දැයි මම නොදනිමි .
erikbwork

1
මම එය පළමු වරට භාවිතා කරන විට මෙය මට වැඩ කළා. නමුත් පද්ධතිය නැවත පණගැන්වීමෙන් පසුව, එය ඇත්ත වශයෙන්ම ගැටලුව වඩාත් නරක අතට හැරවීමට හේතු විය. Ssh සමග වැඩ කරන්නේ නැහැ සියලු දී තවදුරටත්. නිර්දේශ නොකරයි.
yspreen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.