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


163

මම උත්සාහ ssh-addකළේ රාස්ප්බෙරි ධාවනය වන රාස්ප්බෙරි මත වැඩ කිරීමටයි.

මට ආරම්භ කළ හැකිය ssh-agent, මා එය කරන විට පහත ප්‍රතිදානය පර්යන්තයට ලබා දෙයි:

SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;

මම දුවනවා නම් එය ක්‍රියාත්මක වන බව ps aux | grep sshමට පෙනේ.

ssh-addමගේ යතුරු මුරපදය එක් කිරීම සඳහා මම ධාවනය කිරීමට උත්සාහ කරමි, එවිට මට පහත දේ ලැබේ:

Could not open a connection to your authentication agent.

අදහස් තිබේද?


7
උත්සාහ කරන්නeval $(ssh-agent)
උල්රිච් ඩැන්ගල්

Answers:


246

ඔබේ කවචය මඟින් එම ෂෙල් කේත ප්‍රතිදානය තක්සේරු කිරීමට අදහස් කෙරේ ssh-agent. ඒ වෙනුවට මෙය ක්‍රියාත්මක කරන්න:

eval "$(ssh-agent)"

නැතහොත් ඔබ දැනටමත් ssh-agent ආරම්භ කර ඇත්නම්, එය ඔබේ ෂෙල් විමසුමට පිටපත් කරන්න (ඔබ බෝර්න් වැනි කවචයක් ධාවනය කරයි යැයි උපකල්පනය කරන්න).

sshවිධාන වලට කතා කළ යුතු ආකාරය දැන සිටිය යුතුය ssh-agent, SSH_AUTH_SOCKපරිසර විචල්‍යයෙන් ඔවුන් එය දනී .


ස්තූතියි, එය ක්‍රියාත්මක වන්නේ කෙසේදැයි මට නොතේරුණි. එය බෙහෙවින් අගය කරනු ලැබේ.
ඩැනියෙල් ග්‍රෝව්ස්

3
නැතහොත් ඔබට ssh-agent bash ඇතුළු කළ හැකි අතර ssh-add වැඩ කිරීමෙන් පසු
RaduM

Te ස්ටෙෆේන්, එවාල් අනුවාදය සැබවින්ම විධානය ක්‍රියාත්මක කරන අතර ssh-agent විධානය මඟින් එය ක්‍රියාත්මක කිරීමේ ප්‍රතිදානය මුද්‍රණය කරන බව මට නිවැරදිව වැටහෙනවාද?
ඩෙනිස් එස්.

5
En ඩෙනිස්. හොඳයි, එය එහි සැකසුම සිදු කරන අතර පසුව එය සම්බන්ධ කර ගැනීමට හැකි වන පරිදි එහි පරිසරය යාවත්කාලීන කරන්නේ කෙසේදැයි ඔබේ කවචයට කියයි. එයට එය තනිවම කළ නොහැකිය. එයට යාවත්කාලීන පරිසරය සමඟ නව කවචයක් ආරම්භ කළ හැකිය (එය කරන්නේ එයයි ssh-agent bash), නමුත් එයට විදේශීය විධානයක් ක්‍රියාත්මක කරන වෙනම ක්‍රියාවලියක මතකය යාවත්කාලීන කළ නොහැක (ඔබ දැනටමත් ක්‍රියාත්මක වන කවචය).
ස්ටෙෆාන් චසෙලාස්

Te ස්ටෙෆේන් චැසෙලාස්, මගේ ssh-agent ආරම්භයේදී ආරම්භ කර ඇති නමුත් මට එය තවමත් මගේ කවචයෙන් ඉවත් කළ යුතුව තිබේ නම් එයින් අදහස් කරන්නේ එය සෑම කවචයක් සඳහාම ස්වයංක්‍රීයව ඇගයීමට ලක් නොකරන අතර මූල පරිශීලකයා විසින් කෙසේ හෝ වින්‍යාසගත කළ යුතුද?
ඩෙනිස් එස්.

31

මෙය උත්සාහ කරන්න:

$ ssh-agent /bin/sh
$ ssh-add $yourkey

5
අනෙක් පිළිතුරු කිසිවක් ක්‍රියාත්මක නොවූ තැන මෙය සැබවින්ම මට ප්‍රයෝජනවත් විය.
ජෝශප් ස්නෝ

2
ඔබ මාළු ෂෙල් භාවිතා කරන්නේ නම්, මෙම පිළිතුර ක්‍රියාත්මක වේ. ssh-agent /usr/bin/fish.
ස්ලැක්මාර්ට්

2
මට දෝෂයක් ඇතිවිය: " ඔබේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කිරීමට නොහැකි විය. "
ඉගෝර්ගනාපොල්ස්කි

lakslackmart ඔබ BSD හි මාළු ස්ථාපනය කර ඇත්නම්, එහි පිහිටීම /usr/local/bin/fish(විකල්පයක් ලෙස /usr/ports/shells/fish) වේ. එය whereisතේරුම් ගැනීමට මට උදව් කිරීම ගැන විධානයට ස්තූතියි .
cjm

නියම @cjm, මම ස්ලැක්වෙයාර් ලිනක්ස් භාවිතා කරමි, එය මට වැඩ කරන මාර්ගයයි.
ස්ලැක්මාර්ට්

13

මෙම ප්‍රශ්නය Stackoverflow මත ද හොඳින් ආවරණය වී ඇත .

eval `ssh-agent -s`

ssh-add

අවට ඇති උපුටා දැක්වීම් ඔබට අමතක විය `...`. ඒවා නොමැතිව, ප්‍රතිදානය මත භේදය + ග්ලෝබ් ක්‍රියාකරු කැඳවනු ලැබේ.
ස්ටෙෆාන් චසෙලාස්

6

Csh ෂෙල් එකක් ලෙස භාවිතා කරන්නේ නම් ( FreeBSD PI ) මෙය ක්‍රියාත්මක විය හැකිය:

eval `ssh-agent -c`

ඊළඟට ඔබට අවශ්‍ය වන්නේ එවැනි දෙයක් පමණි:

ssh-add ~/.ssh/id_rsa

මට දෝෂයක් ඇතිවිය: " ඔබේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කිරීමට නොහැකි විය. "
ඉගෝර්ගනාපොල්ස්කි

2

ඔබට පහත සින්ටැක්ස් භාවිතා කළ හැකිය:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'

මෙය මා වෙනුවෙන් වැඩ කරන්නේ නැත, ඔබ ගියහොත් ssh-agent sh -c "ssh-add -l"එය ඔබට අනන්‍යතාවයක් නොමැති බව කියනු ඇත.
අයින් ටොව්රි

ඔබ එය පළමුව එකතු කළ යුතු නිසා, උදාහරණයක් ලෙස: ssh-agent sh -c "ssh-add && ssh-add -l"ඔබේ අනන්‍යතාවය මුද්‍රණය කරනු ඇත.
kenorb

2

මෙය උත්සාහ කරන්න: ගොස් C:\$Installation_Folder$\Git\cmd ක්‍රියාත්මක කරන්න:

start-ssh-agent 

එය cmd විධානයක් විවෘත කර ssh-agentනිවැරදි මාර්ගය ක්‍රියාත්මක කරයි.

ssh-add ~/.ssh/id_rsa ඉන්පසු වැඩ කළ යුතුය.


" bash: start-ssh-agent: විධානය හමු නොවීය "
IgorGanapolsky

2

මෙය අවුල් සහගත වූ අතර හොඳ පිළිතුරු 2 ක් ඇත, පරිශීලකයා ලිනක්ස් හෝ වින්ඩෝස් මත ssh යතුරක් එක් කිරීමට උත්සාහ කරන්නේද යන්න මත පදනම්ව (මා මෙන්). මෙය බොහෝ විට OP ට පිළිතුරු නොදෙන නමුත් එය git-bash සඳහා පුළුල් කිරීමකි. මම වින්ඩෝස් සහ උබුන්ටු යන දෙකම සංවර්ධනය සඳහා ධාවනය කරන අතර මගේ git ස්ථාපනය සෑම එකක් තුළම තරමක් වෙනස් වේ.

මෙය උත්සාහ කරන්න: C: \ $ Installation_Folder $ \ Git \ cmd වෙත ගොස් ක්‍රියාත්මක කරන්න:

start-ssh-agent එය cmd විධානයක් විවෘත කර ssh-agent නිවැරදි ආකාරයෙන් ක්‍රියාත්මක කරයි.

.. හොඳ වින්ඩෝස් පිළිතුර විය, නමුත් ඔබ Git ස්ථාපනය ෆෝල්ඩරය සොයා, සහ වින්ඩෝස් ෂෙල් පියවර 1. සම්පූර්ණ කිරීම මත විවෘත වනු ඇත ක්රියාත්මක කිරීමට Windows Explorer හරහා යන්න අපේක්ෂා කරන බව සඳහන් කිරීමට අපොහොසත්
, "C යන්න: \ $ Installation_Folder $ \ Git \ cmd "

පියවර 2: ඔබට දෙවරක් ක්ලික් කළ යුතුය

start-ssh-agent

3 වන පියවරේදී, ඔබ නැවත git-bash හෝ ඔබ ධාවනය කරන * nix පර්යන්ත ඉමුලේටරය වෙත ගොස් ssh-add ධාවනය කරන්න. ඔබ ssh පොදු යතුර සඳහා පෙරනිමි නම භාවිතා කළේ නම්, ඔබ ස්වයංක්‍රීයව ssh-add භාවිතා කරන බැවින් නම එකතු කළ යුතු නොවේ.


1

ඔබට සුඩෝ සමඟ අනන්‍යතාවයක් භාවිතා කිරීමට අවශ්‍ය නම් ක්‍රම කිහිපයක් තිබේ, උදා sudo npm install.

දිගු ගමනක් පමණක් නොව, ඔබට මූල ප්‍රවේශය ද ලබා දෙන බැවින් ඔබට sudoබොහෝ දේ භාවිතා කිරීමට අවශ්‍ය නොවනු ඇත .

  1. ධාවනය කරන්න
    sudo ssh-agent bash
    මෙය ඔබගේ මුරපදය ඉල්ලා සිටින අතර පසුව ssh-agentසුපිරි පරිශීලකයාගේ වරප්‍රසාද සමඟ ක්‍රියාත්මක වේ,
  2. ඔබගේ පරිශීලකයින්ගේ .ssh ෆෝල්ඩරයට සංචාලනය කරන්න
    cd /home/user/.ssh
  3. එතැන් සිට ඔබට දුවන්න පුළුවන්

    ssh-add id_rsa
    npm install git+ssh://git@YOUR-PROJECT-URL -g && npm link PROJECT-NAME
    

කෙටිම ක්‍රමය , ඔබේ පරිශීලකයා පමණි (ඔබට බොහෝ දේ කිරීමට අවශ්‍ය නැතිනම්)

eval "$(ssh-agent)"
ssh-add
sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install git+ssh://git@PROJECT-URL -g && sudo npm link PROJECT-NAME

exportහා evalවැඩ කටයුතු මෙන්ම පමණක් මූල මූල ගේ පිවිසුම් ෂෙල් සලසා ඇති පරිදි වගේ Bourne වේ. මූලයේ කවචය csh හෝ tcsh නම්, භාවිතා කරන්නeval `ssh-agent -c`
ස්ටෙෆාන් චසෙලාස්

rootඑසේ කිරීමෙන් ඔබට ඔබේ ssh-agent වෙත ප්‍රවේශය ලබා දිය හැකි බව සලකන්නsudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install...
ස්ටෙෆාන් චසෙලාස්

උත්සාහ කළ දෙකම බාෂ් නැවත ෂෙල් කර ඇති අතර නිසි ලෙස ක්‍රියා නොකරයි. මගේ ඩෙබියන් ජෙසී උදාහරණයේ ඇති සියලුම පරිශීලකයින් පෙරනිමියෙන් bash භාවිතා කිරීමට සකසා ඇත.
බෙල්ඩන්දු

ඔබ උත්සාහ කළේ කුමක්ද? eval "$(ssh-agent)"root ලෙස ධාවනය වන bash shell එකක ක්ෂණිකව ක්‍රියාත්මක වේ. ඔබට පැහැදිලිවම sshඑම කවචයෙන් හෝ එහි පරම්පරාවෙන් ධාවනය වීමට අවශ්‍ය වන අතර එමඟින් ඔවුන්ට SSH_AUTH_SOCK env var උරුම වේ. පෙරනිමියෙන් SSH_AUTH_SOCK env var සමත් නොවන eval "$(sudo ssh-agent)"; sudo ssh...නිසා sudoක්‍රියා නොකරනු ඇත.
ස්ටෙෆාන් චසෙලාස්

eval "$(ssh-agent)"යම් ආකාරයක වින්‍යාස දෝෂයක් තිබේදැයි බැලීමට මම පසුව බැලීමට උත්සාහ කළෙමි. මම මෙම මාර්ගෝපදේශය ලබා දී ඇති වර්තමාන ක්‍රමය මඟින් ඔබ දැනටමත් මූලයේ සිට ඔබ කැමති කුමන පරිශීලකයාද යන්න පාලනය කිරීමට ඉඩ දී ඇති අතර සේවාදායකයේ ඇති ඕනෑම පරිශීලකයෙකුට ප්‍රවේශ විය හැකිය id_rsa. ඒ නිසා මම එය නිසි ලෙස ක්‍රියාත්මක වූ පසු මගේ පිළිතුර සංස්කරණය කරන්න.
බෙල්ඩන්දු
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.