Answers:
ඇඟිලි සලකුණු මඟින් ඒවා ලැයිස්තු -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
ගොනුවකට දැමූ ආකාරයටම වේ.
ssh-agent sh -c 'ssh-add; ssh-add -l'
ssh-add
පෙනෙන්නේ මෙම විධානය මඟින් නියෝජිතයාට යතුරු පමණක් එකතු කළ යුතු බවයි. එවිට ssh-agent
එහි රඳවා තබා ගැනීමේ යතුරු මොනවාදැයි දැනගත යුතුය. මගේ ඉදිරිදර්ශනය වෙනස් විය.
පුදුමයට කරුණක් නම්, මැකෝස් අනුවාදය 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
.