Author_keys ගොනුවට SSH යතුරු එකතු කරන්නේ කෙසේද?


198

මම සංවර්ධනය සඳහා භාවිතා කරන ඇමසන් ඊසී 2 හි උබුන්ටු සේවාදායකයක් ඇති අතර අද මම මෝඩ ලෙස මගේ ~/.ssh/authorized_keysගොනුවෙන් සියල්ල ඉවත් කර ඇත්තෙමි . වාසනාවකට මා සතුව SSH විවෘතව ඇත, එබැවින් මා තවමත් සම්බන්ධ වී ඇති අතර ගොනුව නිවැරදි කළ හැකිය, නමුත් මම මගේ යතුරු ගොනුව නැවත තැබීමට උත්සාහ කළ විට එය ක්‍රියා නොකරයි. මගේ දේශීය යන්ත්‍රයේ සේවාදායකයෙන් මට තවමත් අවසර නොලැබේ.

authorized_keysඅවසර 600 ක් ඇත. මම මගේ SSH යතුර ssh-rsa සමඟ එකතු කර ssh-rsa ඉවත් කිරීමට උත්සාහ කර ඇත්තෙමි. මමත් SSH යතුර එක පේළියක් බවට පත් කිරීමට උත්සාහ කළෙමි, නමුත් එයද ක්‍රියාත්මක නොවීය.

ගොනුව නැවත පූරණය කිරීම වැනි මා විසින් කළ යුතු තවත් දෙයක් තිබේද?


4
වසර ගණනාවකට පසු, මෙම-තවමත්- අදාළ බව පෙනේ & ක්‍රියාකාරී; නිරීක්ෂණයක් කිරීමට පමණක් අවශ්‍ය විය, වෙඩි උණ්ඩයක් එල්ල කිරීම ගැන කතා කරන්න: "වාසනාවකට මට එස්එස්එච් එකක් විවෘතව ඇත, එබැවින් මා තවමත් සම්බන්ධ වී ඇත [..]" - ෂීෂ්! ; dP
නොස්ට්‍රොමොව්

2
මගේ උපන්දිනය මත සංස්කරණය කරන ලද මෙම ලිපිය මාස දෙකකට පෙර මගේ උපන් දිනය වෙනුවෙන් මාව බේරා ගත්තේය.
ytpillai

Answers:


214

සේවාදායකයෙන් ආරම්භ වන ගොනුවේ අන්තර්ගතය සමඟ ඔබ කිසි විටෙකත් සුරැකිය යුතු නැත-----BEGIN RSA PRIVATE KEY----- , එය ඔබගේ පුද්ගලික යතුරයි. ඒ වෙනුවට, ඔබ පොදු යතුර ~/.ssh/authorized_keysගොනුවට දැමිය යුතුය .

මෙම පොදු යතුර .pubභාවිතයෙන් ජනනය කරන විට දිගුව ඇති ssh-keygenඅතර එහි අන්තර්ගතය ආරම්භ වේ ssh-rsa AAAAB3. (ද්විමය ආකෘතිය මෙම ප්‍රශ්නයට පිළිතුරු වල විස්තර කර ඇත ).

~/.sshසේවාදායකයේ අවසරයන් 700 ක් විය යුතුය. ගොනුවට ~/.ssh/authorized_keys(සේවාදායකයේ) 600 මාදිලියක් තිබිය යුතුය. සේවාදායකයාගේ පැත්තේ (පුද්ගලික) යතුරේ අවසර 600 ක් විය යුතුය.

පුද්ගලික යතුර මුරපදයකින් ආරක්‍ෂා කර නොමැති නම් සහ ඔබ එය සේවාදායකයට දැමුවහොත්, නව එකක් ජනනය කිරීමට මම ඔබට නිර්දේශ කරමි:

ssh-keygen -t rsa

මකාදැමුණු පුද්ගලික යතුර සේවාදායකයෙන් කිසිවෙකුට ලබා ගත නොහැකි බව ඔබට විශ්වාස නම් ඔබට මෙය මඟ හැරිය හැක.

මෙය උදව් නොකරන්නේ නම්, sshවැඩි වාචිකතාව සඳහා විකල්ප සමඟ ධාවනය කරන්න:

ssh -vvv user@example.com

සේවාදායක පැත්තෙන්, ඔබට /var/log/auth.logවිස්තර සඳහා සමාලෝචනය කළ හැකිය .


1
ඇමේසන් ඊසී 2 සේවාදායකයන් සමඟ මට ලැබෙන්නේ පුද්ගලික යතුරයි (key.pem). මට පොදු යතුරක් කොතැනකවත් නැත.
ඩේව් ලෝන්ග්

3
Ave ඩේව් ලෝන්ග්: ඔබ නව යතුරක් භාවිතා ssh-keygen -t rsaකර අලුතින් සාදන ලද id_rsa.pubගොනුව ~/.ssh/authorized_keysඔබේ සේවාදායකයට ඇතුළත් කළ යුතුය. Docs.amazonwebservices.com/AWSEC2/latest/UserGuide/…
Lekensteyn

15
Ave ඩේව්ලොං: ඔබට ඕනෑම වේලාවක පුද්ගලික යතුරෙන් පොදු යතුර ජනනය කළ හැකිය. පහත දැක්වෙන විධානය මඟින් ඔබට මෙය කළ හැකිය: ssh-keygen -y -f key.pem > key.pub
මෝගන් බ්ලැක්ටෝර්න්

5
Or මෝර්ගන් බ්ලැක්ටෝර්න් එය සත්‍යයක් වුවත්, දුරස්ථ ප්‍රභවයන්ගෙන් එකක් පිළිගැනීමට වඩා ඔබේ පුද්ගලික යතුරු ජනනය කිරීමට මම නිර්දේශ කරමි. පුද්ගලික යතුර කාන්දු නොවූ බව ඔබට සම්පූර්ණයෙන්ම විශ්වාස කළ නොහැක.
ලෙකන්ස්ටයින්

2
Er ජෙරාට් ස්ථාවර.
ලෙකන්ස්ටයින්

187

දුරස්ථ යන්ත්‍රය තුළ ඔබේ පොදු යතුර ස්ථාපනය කිරීමට විකල්ප ක්‍රමයක් authorized_keys:

cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

සමහර වාසි:

  • ssh-copy-idස්ථාපනය කිරීමට අවශ්‍ය නොවේ .

  • mkdirඑකතු id_rsa.pubකිරීමට උත්සාහ කිරීමට පෙර ක්‍රියාත්මක වන සහතික authorized_keys.


11
අමතර පැකේජ නොමැතිව දුරස්ථ යන්ත්‍ර කිහිපයකින් මෙය කිරීමට ඔබගේ පිළිතුර මට උදව් විය, ස්තූතියි.
nol

"~ / .Ssh" නාමාවලිය සහ "~ / .ssh / author_keys" ගොනුව නිවැරදි අවසරයන් සහිතව නිර්මාණය වනු ඇති බවට මෙය සහතික නොවේ.
නික්

1
Ick නික්, මට ඒ ගැටලුව තිබුණා. එසේ නම්, chmod (700 / folder, 600 / file) සමඟ නිසියාකාරව නිර්මාණය වී නැතිනම් යමෙකු ඔවුන්ගේ පැවැත්ම පිළිබඳව පළමුව පරීක්ෂා කළ යුතුය. ඉතින් සමහර විට එය එක් ලයිනර් එකක් විය නොහැකිද?
ne න් TheAgile

7
@AnneTheAgile මම වෙනස් හිතන්නේ mkdir -p ~/.sshකිරීමට @MariusButuc විසින් දෙන ලද පිළිතුර කොටසක් umask 077 && mkdir -p ~/.sshඔබ එය නිසි ලෙස ක්රියා කරන බව සහතික කිරීම සඳහා කළ යුතු සියලු වේ.
නික්

1
ty ick නික්! මම එය අත්හරින්නෙමි.
ne න් TheAgile

136

ඔබට පිවිසුම් පාදක සත්‍යාපනය තිබේ නම් ssh-copy-idදුරස්ථ සේවාදායකයට ඔබේ පොදු යතුරු එකතු කිරීමට භාවිතා කරන්න.

ssh-copy-id user@host

1
එය මැක්හි වලංගු විධානයක් ලෙස නොපෙනේ, එය මගේ සේවාදායක යන්ත්‍රයයි.
ඩේව් ලෝන්ග්

1
ප්‍රයෝජනවත් විය හැකිය phildawson.tumblr.com/post/484798267/ssh-copy-id-in-mac-os-x
ෂොයිබ් නවාස්

14
OSX හි ඔබට බීර සමඟ ස්ථාපනය කළ හැකිය:brew install ssh-copy-id
phil

මැක්පෝර්ට්ස් හි, මෙම විධානය භාවිතයෙන් ස්ථාපනය කළ හැකිය sudo port install openssh +ssh_copy_id. මෙම +ssh_copy_idස්ථාපනය වන ssh_copy_id ප්රභේද්යයක් සමග openssh.
ස්ටෙෆාන් ලසිව්ස්කි

7
Phildawson.tumblr.com හි ඇති උපදෙස් මඟින් විශ්වාස කළ නොහැකි මෘදුකාංගයක් root ලෙස ස්ථාපනය කිරීමට ඔබෙන් ඉල්ලා සිටින බව සලකන්න. කතුවරයා විශ්වාස කළ හැකි බව ඔබ නොදන්නේ නම් මෙය තරමක් භයානක වන අතර අනවසරයෙන් ඇතුළුවීමට හොඳ ක්‍රමයකි.
ස්ටෙෆාන් ලසිව්ස්කි

39
local> scp .ssh/id_dsa.pub remote.com:
local> ssh remote.com
remote> cat id_dsa.pub >> .ssh/authorized_keys
remote> rm id_dsa.pub
remote> exit

17

පහසුම ක්‍රමය වන්නේ පිටපත් කර ඇලවීමයි ...

id_rsa.pubඔබේ විද්‍යුත් තැපැල් ලිපිනය අවසන් වන තුරු "ssh-rsa" ආරම්භය ඇතුළුව ඔබේ ප්‍රාදේශීය පොදු යතුරේ අන්තර්ගතය පළමුව බලන්න / පිටපත් කරන්න:

cat ~/.ssh/id_rsa.pub

ඉන්පසු authorized_keysසේවාදායකයේ සංස්කරණය කර ඔබේ ලිපිගොනුවෙහි අන්තර්ගතය එම ගොනුවේ වෙනත් යතුරු වලට පහළින් අලවන්න:

nano ~/.ssh/authorized_keys

සුරකින්න Ctl+O, ගොනුවෙන් Ctl+Xපිටවන්න, SSH සැසියෙන් ඉවත් exitවී එය ක්‍රියාත්මක වූ බව තහවුරු කර ගැනීම සඳහා නැවත පුරනය වීමට උත්සාහ කරන්න. එය මුරපදයක් ඉල්ලුවේ නැත්නම් එය ක්‍රියාත්මක විය.


6

ඔබට යතුර තැබීමට අවශ්‍ය දුරස්ථ යන්ත්‍රයට කවචයක් ලබා ගන්න, එවිට ඔබට අවශ්‍ය ලිපිගොනු සහ නාමාවලි නිර්මාණය කිරීමට, ඒවායේ අවසරයන් සකසා යතුර ගොනුවට එකතු කිරීමට මෙම එක්-ලයිනර් ධාවනය කළ හැකිය. ඇත්ත වශයෙන්ම ඔබ KEYGOESHEREපහත කොටස සහ ඊට පසුව අදහස් දැක්වීම වෙනස් කළ යුතුය.

mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && echo "ssh-rsa KEYGOESHERE user@remotehost or note" >> ~/.ssh/authorized_keys

5

මම හිතුවේ මට ඒ සඳහා දායක විය හැක්කේ එය AWS සිද්ධීන් ගැන විශේෂයෙන් වන අතර සියලු පිළිතුරු ගැටළුව සලකන්නේ ලිනක්ස් ප්‍රශ්නයක් ලෙසට ය, එය දෘඩාංග කැබැල්ලක් සේ ය. ඔබ තේරුම් ගත යුතු පළමු දෙය නම්, ඔබ කිසි විටෙකත් EC2 සිද්ධීන් දෘඩාංග ලෙස නොසැලකිය යුතුය. එය ඔබට තවත් වැඩක් නිර්මාණය කිරීමට යන්නේ ඒවා අස්ථාවර ලෙස සලකන්න. මිනිසුන්ට AWS සමඟ ඇති ලොකුම බාධකය එයයි. ඔබේ උදාහරණයේ AMI එකක් සාදා ඔබට අවශ්‍ය යතුර නව අවස්ථාවට එන්නත් කරන්න. cloud-init ඔබ වෙනුවෙන් එය බලා ගනීවි. වඩාත් විස්තරාත්මකව ඔබ කළ යුතුව ඇත්තේ මුල් පිටුවේ AMI වෙතින් නව අවස්ථාව නිර්මාණය කිරීමේදී නිවැරදි පොදු යතුර භාවිතා කිරීමයි. අනුමත පිළිතුරේ අදහස් දැක්වීමේදී මෙන්, ඔබට ඔබේම යතුරු යුගලයක් සහ පෙම් ලිපිගොනු උත්පාදනය කිරීමට අවශ්‍ය නම්, AWS මඟින් EC2 හි භාවිතය සඳහා ඔබේ පොදු යතුරු උඩුගත කිරීමේ අවස්ථාව ලබා දේ.

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws


3

පොදු යතුර සුරැකීමෙන් පසු ඔබ පුද්ගලික යතුර නාමාවලියකට සුරැකිය යුතු අතර ඔබේ පරිගණකයේ ගොනු කරන්න. Ssh on putty හි සත්‍යාපන කොටසේදී ඔබ ඔබේ ඩෙස්ක්ටොප් එකේ සුරකින ලද පුද්ගලික යතුරු ගොනුව වෙත යොමු කළ යුතුය. එය ක්‍රියාත්මක වනු ඇත. එය මට වැඩ කරයි.


1
වින්ඩෝස් කොන්සෝලය එහි පරිවර්තකයාට සියළුම ssh ක්‍රියාකාරිත්වය එක් කළ හැකි නම් මම එයට කැමතියි
ඩෙනිස්

1

පෙළ ගොනුවක ඔබට පොදු යතුරු ගොනු නාම ලැයිස්තුවක් තිබිය හැකි විචල්‍යතාවයක් මෙහි ඇති අතර පොදු යතුරු ලිපිගොනු විශාල ප්‍රමාණයක් එකම නාමාවලියෙහි ඇත.

ආනයනය කිරීම සඳහා ඔබ පොදු යතුරු ලිපිගොනු විශාල ලැයිස්තුවක් ලබා දුන්නේ නම් මෙම විචලනය ප්‍රයෝජනවත් වේ :-)

$ for i in $(cat ListOfPubKeyFiles.txt) ; do cat $i | ssh User@Hostname "cat >> ~/.ssh/authorized_keys"; done
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.