Ssh-add සමඟ ssh-agent වෙත එකතු කළ යතුරු ලැයිස්තුගත කරන්නේ කෙසේද?


233

ssh-addමගේ සමඟ එකතු කර ඇති යතුරු මොනවාදැයි පරීක්ෂා කරන්නේ කෙසේද සහ කෙසේද ssh-agent?

Answers:


281

ඇඟිලි සලකුණු මඟින් ඒවා ලැයිස්තු -lගත ssh-addකිරීමට විකල්පය භාවිතා කරන්න .

$ ssh-add -l
2048 72:...:eb /home/gert/.ssh/mykey (RSA)

නැතහොත් -Lසම්පූර්ණ යතුර OpenSSH ආකෘතියෙන් ලබා ගැනීම සඳහා.

$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc[...]B63SQ== /home/gert/.ssh/id_rsa

දෙවන ආකෘතිය ඔබ ඒවා ~/.ssh/authorized_keysගොනුවකට දැමූ ආකාරයටම වේ.


1
[rahul @ srv1 ~] sh ssh-add -l ඔබේ සත්‍යාපන නියෝජිතයාට සම්බන්ධතාවයක් විවෘත කළ නොහැක.
රාහුල් පටිල්

1
AhRahulPatil ඔබ එම යන්ත්‍රයේ SSH නියෝජිතයෙකු ධාවනය කරනවාද? ඔබ යතුරු එක් කළ දුරස්ථ යන්ත්‍රයට නොව යන්ත්‍රයේම මෙය ක්‍රියාත්මක කරන්න!
gertvdijk

4
යතුරු නියෝජිතයා ඉදිරියට යැවීම සක්‍රීය කර ඇත්නම් ඔබට මෙම විධානය දුරස්ථ ධාරකයේ ක්‍රියාත්මක කළ හැකිය.
පැට්‍රික්

3
උදාහරණය:ssh-agent sh -c 'ssh-add; ssh-add -l'
kenorb

4
@gertvdijk මම ඇත්ත වශයෙන්ම නම් කිරීම ගැන කතා කරමින් සිටියෙමි. නමෙන් ssh-addපෙනෙන්නේ මෙම විධානය මඟින් නියෝජිතයාට යතුරු පමණක් එකතු කළ යුතු බවයි. එවිට ssh-agentඑහි රඳවා තබා ගැනීමේ යතුරු මොනවාදැයි දැනගත යුතුය. මගේ ඉදිරිදර්ශනය වෙනස් විය.
ෂිප්ලු මොකාඩිම්

1

පුදුමයට කරුණක් නම්, මැකෝස් අනුවාදය ssh-addයම් අවස්ථාවක දී ලිනක්ස් ප්‍රභේදය මෙන් ගොනු නාමය පෙන්වීම නැවැත්වීය. මම මෙම ස්ක්‍රිප්ට් එක ලිව්වේ අනුරූප ගොනුවක් ඇති ඇඟිලි සලකුණු සඳහාද එයම කරයි ~/.ssh/.

මම ශ්‍රිතය ssh-add_wfඅමතන්නේ wf = ගොනුව සමඟ ය. කාර්යය පිළිබඳ විස්තර පහත දැක්වේ:

$ type ssh-add_wf
ssh-add_wf is a function
ssh-add_wf ()
{
    while read -r line; do
        for file in ~/.ssh/*.pub;
        do
            printf "%s %s\n" "$(ssh-keygen -lf "$file" | awk '{$1=""}1')" "$file";
        done | column -t | grep --color=auto "$line" || echo "$line";
    done < <(ssh-add -l | awk '{print $2}')
}

උදාහරණයක්

$  ssh-add_wf
 SHA256:mwvSCr2CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  myuser@mydom.lan  (RSA)  /Users/myuser/.ssh/ssh_myuser@mydom.lan_id_rsa.pub
 SHA256:qInIrnKcXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  myuser@mydom.com  (RSA)  /Users/myuser/.ssh/github_myuser@mydom.com_id_rsa.pub
 SHA256:tX+AAJA0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 SHA256:EyNkhTLQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  myuser@mydom.com  (RSA)  /Users/myuser/.ssh/ssh_myuser@mydom.com_id_rsa.pub
 SHA256:KKKVwtvFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 SHA256:tr0hZP52XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ඉහත, ඩිරෙක්ටරියේ ssh-addගොනුවකට ගැලපෙන ඕනෑම යතුරක් ~/.ssh/ගොනුවේ නම 4 වන තීරුවේ ප්‍රතිදානයේ ඇතුළත් වේ. නැති ඕනෑම යතුරු එම තීරුව හිස් නොවනු ඇත. මෙම නිමැවුමේ අපට යතුරු 3 ක් ඇති අතර ඒවා ගැලපෙන ගොනු ඇත.

ක්‍රියාකාරීත්වයේ යාන්ත්‍ර විද්‍යාව

ස්ක්‍රිප්ට් එක ලූප 2 ක් භාවිතා කරයි. පිටත ලූපය යනු whileප්‍රතිදානය ගන්නා a ය ssh-add. මෙම ප්‍රතිදානය SSH යතුරු වල සියලුම ඇඟිලි සලකුණු පටවා ඇත ssh-agent.

අභ්‍යන්තර පුඩුවක් යනු forමෙම රටාවට ගැලපෙන සියලුම ලිපිගොනු වල අන්තර්ගතය ඉක්මවා යන ලූපයකි ~/.ssh/*.pub. සෑම ගොනුවක් සඳහාම අපි එය ප්‍රශ්න කර ssh-keygen -lf <file>මෙම ප්‍රතිදානයේ පළමු තීරුව අතහරිමු:

...පෙර...

4096 SHA256: mwvSCr2CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX myuser@mydom.lan

...පසුව...

SHA256: mwvSCr2CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX myuser@mydom.lan

මෙම නූල පසුව ගොනුවේ නම සමඟ මුද්‍රණය කෙරේ:

printf "% s% s \ n" "$ (ssh-keygen -lf" $ file "| awk '{$ 1 =" "} 1')" "$ file"

මෙම ලූපය ක්‍රියාත්මක කිරීම අවසානයේ පහත දැක්වේ:

| තීරුව -t | grep "$ line" || echo "$ line"

මෙය ප්‍රතිදානය සංයුති කරන අතර එය තීරු ආකෘතිකරණය කර ඇත ( column -t).

මේ මොහොතේ දී අපි සිට ඇඟිලි සඳහා මෙම ප්රතිදානය දිහා ssh-addහරහා grep "$line". තරගය අපේ මුද්රණය සොයා නම් printfප්රතිදානය, වෙනත් ආකාරයකින් අපි ආපහු පමණක් සිට මුල් ඇඟිලි සලකුණ මුද්රණය වැටෙන ssh-add, $line.

යොමුව

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.