ආරක්ෂාව සහ පහසුව අතර වෙළඳාමක් සඳහා මෙය සාමාන්ය උදාහරණයකි. වාසනාවකට විකල්ප ගණනාවක් තිබේ. වඩාත්ම සුදුසු විසඳුම භාවිතා කිරීමේ තත්ත්වය සහ අපේක්ෂිත ආරක්ෂාව පිළිබඳ මට්ටම මත රඳා පවතී.
මුරපදය සහිත ssh- යතුර, නැත ssh-agent
සත්යාපනය සඳහා යතුර භාවිතා කරන සෑම අවස්ථාවකම මුරපදය ඇතුළත් කළ යුතුය. ආරක්ෂක දෘෂ්ටි කෝණයකින් මෙය හොඳම විකල්පය වන අතර, එය නරකම භාවිතාව ලබා දෙයි. මෙය දුර්වල මුරපදයක් පිළිවෙලට තෝරා ගැනීමට ද හේතු විය හැකිය - නැවත නැවත එයට ඇතුල් වීමේ බර අඩු කිරීම.
මුරපදය සමඟ ssh- යතුර, සමඟ ssh-agent
පහත සඳහන් දෑ එකතු කිරීමෙන් ~/.bash_profile
ස්වයංක්රීයව ආරම්භ ssh-agent
වන අතර ප්රවේශවීමේදී ssh-key (ය) පූරණය වේ:
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
ssh-add
fi
දැන් සෑම පිවිසුමකටම මුරපදය ඇතුළත් කළ යුතුය. උපයෝගීතා දෘෂ්ටිකෝණයකින් තරමක් හොඳ ssh-agent
වුවත්, පිවිසුම් සැසියේදී යතුර භාවිතා කළ යුතුද නැද්ද යන්න නොසලකා මුරපදය ඉල්ලා සිටින අඩුපාඩුව මෙයයි . සෑම නව පිවිසුමක්ම ssh-agent
පැහැදිලිව මරුමුවට පත් නොවන්නේ නම්, පිටවීමෙන් පසුව වුවද එකතු කළ යතුරු මතකයේ රැඳී පවතී.
ssh_agent
ලොග්අවුට් වලදී kill ාතනය කිරීමට, පහත සඳහන් දේ එකතු කරන්න~/.bash_logout
if [ -n "$SSH_AUTH_SOCK" ] ; then
eval `/usr/bin/ssh-agent -k`
fi
හෝ පහත සඳහන් දේ සඳහා ~/.bash_profile
trap 'test -n "$SSH_AUTH_SOCK" && eval `/usr/bin/ssh-agent -k`' 0
කොලින් ඇන්ඩර්සන්ගේ පිළිතුරssh-agent
වැනි ගොනු පද්ධතියේ ස්ථාවර ස්ථානයක නියෝජිතයාට නිරන්තර සන්නිවේදන සොකට් එකක් සෑදීමෙන් අවස්ථා කිහිපයක් නිර්මාණය කිරීමෙන් වළක්වා ගත හැකිය . කෙසේවෙතත්, බහුවිධ කාරක අවස්ථා බිහි කිරීමට වඩා මෙය වැඩිදියුණු කිරීමකි.
ඩෙස්ක්ටොප් පරිගණක වලදී, ග්නෝම් කීරිං එස්එස්එච් ඒජන්ත වැනි ඩෙස්ක්ටොප් පරිසරය සමඟ ඇතුළත් කර ඇති එස්එස්-ඒජන්තයින්ට වඩා හොඳ ප්රවේශයක් විය හැකි බැවින් ඒවා සාමාන්යයෙන් මුරපදය සඳහා විමසීමට හැකි වන අතර පළමු වරට පිවිසුම් සැසියකදී එස්එස්-යතුර භාවිතා කරන අතර විකේතනය කළ පුද්ගලික යතුර සැසිය අවසන් වන තෙක් මතකයේ ගබඩා කරන්න.
මුරපදය සමඟ ssh- යතුර, සමඟ ssh-ident
ssh-ident
යනු ssh-agent
ඔබ වෙනුවෙන් කළමනාකරණය කළ හැකි සහ අවශ්ය පරිදි අනන්යතා පැටවිය හැකි උපයෝගීතාවයකි . A ට ප්රවේශය අවශ්ය වන පර්යන්ත, ssh හෝ පිවිසුම් සැසි කීයක් නොසලකා එය අවශ්ය වන්නේ එක් වරක් පමණි ssh-agent
. ධාරකයට සම්බන්ධ වී ඇති ආකාරය අනුව වෙනස් නියෝජිතයෙකු සහ විවිධ යතුරු කට්ටලයක් එක් කිරීමට හා භාවිතා කිරීමට එයට හැකිය, නැතහොත් ssh නාමාවලිය ආයාචනය කරයි. විවිධ ධාරකයන් සමඟ නියෝජිත ඉදිරියට යැවීමේදී යතුරු හුදකලා කිරීමට මෙය ඉඩ දෙයි. GitHub වැනි වෙබ් අඩවි වල බහු ගිණුම් භාවිතා කිරීමට ද එය ඉඩ දෙයි.
සක්රිය කිරීමට ssh-ident
, එය ස්ථාපනය කර පහත දැක්වෙන අන්වර්ථය ඔබගේ ~/bash_profile
:
alias ssh='/path/to/ssh-ident'
මුරපදය සමඟ ssh- යතුර, සමඟ keychain
keychain
ssh-agent
ඔබ වෙනුවෙන් කළමනාකරණය කරන කුඩා උපයෝගීතාවයක් වන ssh-agent
අතර පිවිසුම් සැසිය අවසන් වූ විට දිගටම ක්රියාත්මක වීමට ඉඩ සලසයි . පසුකාලීන පිවිසුම් වලදී, keychain
පවතින අවස්ථාවට සම්බන්ධ වේ ssh-agent
. ප්රායෝගිකව, මෙයින් අදහස් කරන්නේ මුරපදය ඇතුළත් කළ යුත්තේ නැවත ආරම්භ කිරීමෙන් පසු පළමු පිවිසුම් කාලය තුළ පමණක් බවයි. පසුකාලීන පිවිසුම් වලදී, පවතින ssh-agent
අවස්ථාවෙන් සංකේතාංකනය නොකළ යතුර භාවිතා වේ. cron
මුරපද රහිත ssh- යතුරු නොමැතිව රැකියා වලදී මුරපද රහිත RSA / DSA සත්යාපනය සඳහා ඉඩ ලබා දීම සඳහා මෙය ප්රයෝජනවත් වේ .
සක්රිය කිරීමට keychain
, එය ස්ථාපනය කර පහත සඳහන් දෑ එකතු කරන්න ~/.bash_profile
:
eval `keychain --agents ssh --eval id_rsa`
ආරක්ෂක දෘෂ්ටි කෝණයකින්, ssh-ident
සහ යම් සැසියක ජීවිත කාලය සඳහා සීමා වූ අවස්ථාවන්ට keychain
වඩා නරක ය ssh-agent
, නමුත් ඒවා ඉහළ මට්ටමේ පහසුවක් ලබා දෙයි. ආරක්ෂාව වැඩි දියුණු කිරීම සඳහා keychain
, සමහර අය --clear
ඔවුන්ගේ ~/.bash_profile
යතුරුපුවරු ආයාචනයට විකල්පය එක් කරති . මෙම මුරපද සිදු කිරීමෙන් ඉහත පරිදි නැවත පිවිසීමේදී නැවත ඇතුළත් කළ යුතුය, නමුත් cron
පරිශීලකයා ඉවත් වූ පසු රැකියා සඳහා සංකේතාංකනය නොකළ යතුරු වෙත ප්රවේශය ඇත. මෙම keychain
විකි පිටුව වැඩි විස්තර සහ උදාහරණ ඇත.
මුරපදය නොමැතිව ssh-key
ආරක්ෂක දෘෂ්ටි කෝණයකින් බලන කල, නරකම විකල්පය වන්නේ පුද්ගලික යතුර නිරාවරණය වුවහොත් එය සම්පූර්ණයෙන්ම අනාරක්ෂිත බැවිනි. කෙසේ වෙතත්, නැවත පණගැන්වීමෙන් පසු මුරපදය නැවත ඇතුළත් කිරීම අවශ්ය නොවන බවට සහතික විය හැකි එකම ක්රමය මෙයයි.
මුරපදය සමඟ ssh- යතුර ssh-agent
, මුරපදය ස්ක්රිප්ට් සිට සම්මත කිරීමssh-add
මුරපදය පිටපතකින් යැවීම සරල අදහසක් සේ පෙනෙන්නට තිබුණද ssh-add
, උදා: echo "passphrase\n" | ssh-add
මෙය මුරපදය ssh-add
කියවා නැතිstdin
/dev/tty
තරම් සෘජු නොවේ, නමුත් කියවීම සඳහා කෙලින්ම විවෘත වේ .
මෙම ගත හැකි පමණ වැඩ සමග expect
, අන්තර් අයදුම්පත් automating සඳහා මෙවලමක්. පහත දැක්වෙන්නේ ස්ක්රිප්ටයේ ගබඩා කර ඇති මුරපදයක් භාවිතා කරමින් ssh යතුරක් එක් කරන ස්ක්රිප්ටයක උදාහරණයකි:
#!/usr/bin/expect -f
spawn ssh-add /home/user/.ssh/id_rsa
expect "Enter passphrase for /home/user/.ssh/id_rsa:"
send "passphrase\n";
expect "Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)"
interact
ආරක්ෂක දෘෂ්ටි කෝණයකින් මුරපදය ස්ක්රිප්ටයේ සරල පෙළෙහි ගබඩා කර ඇති බැවින්, මුරපද රහිත ssh- යතුරක් තිබීමට වඩා මෙය හොඳ නැති බව සලකන්න. මෙම ප්රවේශය භාවිතා expect
කිරීමට නම්, මුරපදය අඩංගු ස්ක්රිප්ටයට නිසි අවසරයන් ඇති බවට වග බලා ගැනීම වැදගත් වන අතර එය කියවිය හැකි, ලිවිය හැකි සහ ධාවනය කළ හැකි වන්නේ ප්රධාන හිමිකරුට පමණි.