වෙනත් යන්ත්‍රයකට ssh යතුරු පිටපත් කිරීමට පහසුම ක්‍රමය කුමක්ද?


373

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

යතුරක් පිටපත් කිරීමට පහසුම හා නිර්දේශිත ක්‍රමයක් මම සොයමි, උබුන්ටු එස්එස් පැකේජයේ කොතැනක හෝ පහසුවක් තිබේදැයි බලාපොරොත්තු විය හැකිද?

මුරපද පිවිසුම් වසා දැමිය යුතු ආකාරය ගැන මම දැනටමත් දනිමි .


Answers:


505

මෙම ssh-copy-id(දී විධාන openssh-සේවාදායක පැකේජය හා ප්රකෘතිය මඟින් ස්ථාපනය) හරියටම මේ කරන්නේ:

ssh-copy-id user@hostname.example.com

ඔබගේ සුපුරුදු අනන්‍යතාවයේ පොදු යතුර ( -i identity_fileවෙනත් අනන්‍යතා සඳහා භාවිතා කරන්න ) දුරස්ථ ධාරකයට පිටපත් කරයි .

පෙරනිමි අනන්‍යතාවය ඔබේ "සම්මත" ssh යතුරයි. එය ඔබගේ ගොනු දෙකක් (රාජ්ය හා පෞද්ගලික යතුර) සමන්විත වේ ~/.sshබහලුම, සාමාන්යයෙන් නම් identity, id_rsa, id_dsa, id_ecdsaහෝ id_ed25519(හා සමග එම .pub), ප්රධාන වර්ගය මත රඳා පවතී. ඔබ එක් ssh යතුරකට වඩා නිර්මාණය නොකළේ නම්, අනන්‍යතාවය සඳහන් කිරීම ගැන ඔබට කරදර විය යුතු නැත, ssh-copy-id එය ස්වයංක්‍රීයව තෝරා ගනු ඇත.

ඔබට අනන්‍යතාවයක් නොමැති නම්, ඔබට මෙවලම සමඟ එකක් ජනනය කළ හැකිය ssh-keygen.

ඊට අමතරව, සේවාදායකය පෙරනිමියට වඩා වෙනස් වරායක් භාවිතා කරන්නේ නම් ( 22) ඔබ මේ ආකාරයෙන් උද්ධෘත ලකුණු භාවිතා කළ යුතුය ( මූලාශ්‍රය ):

ssh-copy-id "user@hostname.example.com -p <port-number>"

1
පෙරනිමි අනන්‍යතාවය කුමක්ද?
ඔක්ස්වි

17
විවිධ වරායන් සඳහා මෙය භාවිතා කරන්න:ssh-copy-id "user@host -p 6842"
jibon57

7
ඔබ පිටපත් කරන දුරස්ථ සේවාදායකය මුරපද විමසීමට ඉඩ නොදී මූලික වශයෙන් අගුළු දමා SSH ප්‍රවේශය සඳහා ඉතිරි කර ඇත්නම් කුමක් කළ යුතුද?
Cyle

10
මැක් මත ඔබට කළ හැකි brew install ssh-copy-idඅතර පසුව විධානය ක්‍රියාත්මක කරන්න.
අවිෂායි

1
ArMarcelStimberg කරුණාකර -i පැතිකඩ ඇතුළත් කිරීමට පිළිතුර යාවත්කාලීන කරන්න; මිනිසුන්ට යතුර 1 ට වඩා ඇති අතර ඒවා සියල්ලම තල්ලු කරයි, නැතහොත් අදහස් දැක්වීමේදී -i විකල්පය සඳහා දඩයම් කිරීමට සිදුවේ
නික්

139

මම මාසෙල්ගේ පිළිතුරට කැමතියි. මම මේ විධානය දැනගෙන හිටියේ නැහැ. මම සෑම විටම ඔරකල් වෙබ් අඩවියේ සොයාගත් දේ භාවිතා කරමි :

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'cat >> .ssh/authorized_keys && echo "Key copied"'

මම තවමත් එය මෙහි පළ කිරීමට සිතුවෙමි, මන්ද එය ෂෙල් කේතයෙන් ලබා ගත හැකි දේ පිළිබඳ හොඳ නිදර්ශනයක් වන sshබැවිනි. නමුත් එය භාවිතා කිරීම ssh-copy-idනිසැකවම එය නිසි ලෙස කිරීමට ආරක්ෂිත ක්‍රමයකි!

ෆෝල්ඩරය .sshදැනටමත් නොපවතී නම්, ඉහත විධානය අසමත් වන බව සලකන්න. ඊට අමතරව, අවම අවසරයක් සැකසීම සඳහා ගොනුව නිර්මාණය කිරීමේදී වඩා හොඳ විය හැකිය (මූලික වශයෙන් හිමිකරුට පමණක් කියවීම-ලිවීම). මෙන්න වඩාත් දියුණු විධානයක්:

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'umask 0077; mkdir -p .ssh; cat >> .ssh/authorized_keys && echo "Key copied"'

2
මෙම නිශ්චිත විධානයන් මැක් එකකින් ද ක්‍රියාත්මක වේ
මිහයි පී.

බොහෝ ෂෙල් සහිත ඕනෑම යුනික්ස් යටතේ එය ක්‍රියා කළ යුතුය. .sshදුරස්ථ පැත්තේ ෆෝල්ඩරය නොපවතින අවස්ථාවකදී මම යාවත්කාලීන කළ විධානයකින් ලිපිය යාවත්කාලීන කළෙමි .
හියුජන්ස්

1
මෙම catඅවශ්ය නොවේ - සාමාන්ය ආදාන හරවා යැවීමේ තරම් වන අතර, උදා:< ~/.ssh/id_rsa.pub | ssh ...
maxschlepzig

Uy හියුජන්ස් ස්තූතියි. මෙය මතක තබා ගැනීම වඩාත් ප්‍රයෝජනවත් වේ, මන්ද ඔබට කිසිවක් ස්ථාපනය කිරීමට අවශ්‍ය නොවන අතර එය විදේශීය විධානයන් ක්‍රියාත්මක කිරීම සඳහා ද හොඳ විය හැකිය. උදා: ඔබේ උසස් උදාහරණයෙන් පෙන්නුම් කළ පරිදි සේවාදායක පාර්ශවීය අවසරයන් වෙනස් කිරීම.
ජොනතන් කෝමාර්

2
මම මේ ආකාරයට වැඩි කැමැත්තක් දක්වන්නේ දේවල් කැඩී ඇත්තේ මන්දැයි සොයා ගැනීමට උපකාරී වන වාචික ssh භාවිතා කිරීමට එය ඔබට ඉඩ සලසන බැවිනි. sshcopyid යන්තම් මිදුණු අතර කිසි විටෙකත් ක්‍රියා නොකළේය.
සයිරන්ස්

31

චිත්රක ක්රමය

  1. යෙදුම් විවෘත කරන්න ▸ මුරපද සහ යතුරුමගේ පුද්ගලික යතුරු .
  2. ඔබගේ යතුර තෝරන්න, පසුව ආරක්ෂිත කවචය සඳහා දුරස්ථවින්‍යාස කිරීමේ යතුර ක්ලික් කරන්න .

SSH සම්බන්ධතාවය සඳහා පරිගණකය සකසන්න


මගේ මෙනුවේ "මුරපද සහ සංකේතාංකන යතුරු" නොමැත.
ජෝර්ජ් කැස්ත්‍රෝ

ඔබ භාවිතා කරන්නේ කුමන උබුන්ටු නිකුතුවද? උබුන්ටු 10.04 LTS හි මෙය පෙරනිමියෙන් ලබා ගත යුතුය.
ændrük

10.10, ටැගය එක් කළා. ඔබේ ඩෙස්ක්ටොප් නැඹුරු පිළිතුර සඳහා +1 වුවද මාසල්ගේ පිළිතුර මා සොයන දෙයයි!
ජෝර්ජ් කැස්ත්‍රෝ


1
මෙම යෙදුම 10.10 හි පද්ධති-> මනාප මෙනුවෙහි ඇතැයි මම සිතමි (දැන් එය පරීක්ෂා කළ නොහැක, මම 10.04 ට පැමිණ සිටිමි)
හියුජන්ස්

18

උබුන්ටු වලදී ඔබට ඔබේ යතුරු දියත් කිරීමේ පෑඩ් වෙතින් ලබා ගත හැකිය:

ssh-import-id [launchpad account name]

විස්තර :

  1. ඔබට Launchpad ගිණුමක් අවශ්‍ය බැවින් පුරනය වන්න හෝ ගිණුමක් සාදන්න
  2. පුරනය වීමෙන් පසු, SSH යතුරු අසල ඇති බොත්තම ක්ලික් කරන්න :
  3. ඔබගේ පොදු යතුරු ගොනුවේ අන්තර්ගතය එම ක්ෂේත්‍රය තුළ අලවන්න (අදහස් දැක්වීම ඇතුළුව). එවැනි යතුරක් පෙනේ:

    ssh-rsa AAAAB3Nza .... UyDOFDqJp lekensteyn
    

    මෙන්න, ssh-rsaයතුර RSA යතුරක් බවත්, AAAAB3Nza .... UyDOFDqJpසැබෑ යතුර බවත් lekensteynඑය අදහස් දැක්වීම බවත් දක්වයි.

  4. ආනයන පොදු යතුර එබීමෙන් යතුර සුරකින්න
  5. සෑම දෙයක්ම හොඳින් සිදුවී ඇත්නම්, ඔබේ යතුර දැන් SSH යතුරු යටතේ ලැයිස්තුගත කළ යුතුය :

පැකේජය ssh-import-idදුරස්ථව සිට ප්‍රවේශ විය යුතු යන්ත්‍රය මත ස්ථාපනය කළ යුතුය. මෙම පැකේජය openssh-serverනිර්දේශිත පැකේජයක් බැවින් පැකේජය සමඟ එකට ස්ථාපනය කර ඇත openssh-server. ssh-import-idඑය ස්ථාපනය කර ඇති බවට තහවුරු කර ගැනීමෙන් පසු සේවාදායක යන්ත්‍රය මත ධාවනය කරන්න:

ssh-import-id [launchpad account name]

මෙය MITM ප්‍රහාර වලින් ඔබව ආරක්ෂා කරන HTTPS හරහා Launchpad සේවාදායකයන්ගෙන් පොදු යතුර බාගත කරනු ඇත.

උබුන්ටු ලුසිඩ් සහ ඊට පෙර, ඔබට මෙය කළ හැක්කේ:

wget https://launchpad.net/~[lp acount name]/+sshkeys -O - >> ~/.ssh/authorized_keys && echo >> ~/.ssh/authorized_keys

මෙම echoවිධානය SSH යතුර රේඛාව පසු අමතර නව පේළියකට යොමු කිරීමේ අක්ෂරය ලබා ගැනීමට අවශ්ය වේ.


14

අභිරුචි වරාය සඳහා

ssh-copy-id -i "user@hostname.example.com -p2222"

-i පෙරනිමි ~ / .ssh / id_rsa.pub වෙත මාරු කරන්න, ඔබට වෙනත් යතුරක් අවශ්‍ය නම්, -i පසු යතුරේ මාර්ගය තබන්න

අවවාදයයි: ඔබ -i ලියා නොතිබුනේ නම් එය ඔබගේ සියලුම යතුරු ~ / .ssh හි පිටපත් කරනු ඇත


1
එම අනතුරු ඇඟවීම ගැන ඔබට විශ්වාසද? "-i identi_file - අනන්‍යතා_ ගොනුවේ අඩංගු යතුර (ය) පමණක් භාවිතා කරන්න (ssh-add (1) හරහා හෝ default_ID_file හරහා අනන්‍යතා සෙවීමට වඩා). ගොනු නාමය .pub වලින් අවසන් නොවන්නේ නම් මෙය එකතු වේ. ගොනු නාමය නම් අතහැර දමා ඇත, default_ID_file භාවිතා වේ. "
යූෂා අලයූබ්

2

විසඳුම ඉතා සරල ය:

යන්න ~/.sshනව යන්ත්රය සහ ක්රියාත්මක ssh-add. කළා!

දීර් AN පිළිතුර:

  1. පැරණි යන්ත්‍රය තුළ, ෆෝල්ඩරය ~/.sshUSB ධාවකයකට හෝ ඔබ කැමති වෙනත් ගබඩාවකට ගෙන යන්න.
  2. නව යන්ත්‍රය මත, ෆෝල්ඩරය ~අකා යටතේ තබන්න /home/$USER.
  3. ssh-addනව යන්ත්‍රය මත ධාවනය කරන්න .

PS එය කිහිප වතාවක් කළා. සාමාන්‍යයෙන් ක්‍රියාත්මක නොවන සීමාවාසිකයන් පිළිබඳ අතිශය සංකීර්ණ විසඳුම් ගැන මම පුදුම වෙමි.


0

ssh-copy-idඑය හරියටම කරයි. මෙහි ඇති වෙනත් පිළිතුරු සාවද්‍ය තොරතුරු එකතු කරන්නේ මන්දැයි මට විශ්වාස නැත. උදව් පහත දැක්වේ:

~$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname
    -f: force mode -- copy keys without trying to check if they are already installed
    -n: dry run    -- no keys are actually copied
    -h|-?: print this help

මම සෙන්ටොස් 7.6 සේවාදායකයක් සහිත උබුන්ටු 18.04 සේවාදායකයාගෙන් පහත සඳහන් දෑ අත්හදා බැලුවෙමි. උදාහරණයෙන් දැක්වෙන්නේ අභිරුචි වරායක් භාවිතා කිරීම 2222සහ පොදු යතුරක් සඳහන් කිරීමයි~/.ssh/path-to-rsa.pub

$ ssh-copy-id -i ~/.ssh/path-to-rsa.pub -p 2222 myusername@hostname.tld

විධානය ක්‍රියාත්මක කිරීමට පෙර, -nවියළි ධාවනයක් කිරීමට මම අවසානයේ ස්විචය භාවිතා කළෙමි . මම එය තහවුරු කළ පසු -nස්විචය නොමැතිව නැවත වරක් විධානය ක්‍රියාත්මක කළෙමි .


0

AWS EC2 හි මෙන් ඔබට දැනටමත් ධාරක යතුරක් තිබේ නම් මෙය කරන්න

cat ~/.ssh/id_rsa.pub | ssh -i hostkey.pem hostname@hostaddress 'cat >> .ssh/authorized_keys && echo "Key copied" '

ඊළඟ වතාවේ, මෙය සරලව කරන්න:

ssh hostname@hostaddress
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.