.Sh ෆෝල්ඩරයේ පුද්ගලික යතුර සඳහා අවසර තිබේද?


424

මම මගේ .sshෆෝල්ඩරයේ මගේ අවසරයන් වෙනස් කළ අතර දැන් මම මගේ පුද්ගලික යතුර භාවිතා කරන මෘදුකාංගයක් භාවිතා කරන විට, සෑම විටම මගේ මුරපදය ටයිප් කළ යුතුය. id_rsaමම එය භාවිතා කරන යෙදුමක් භාවිතා කරන සෑම අවස්ථාවකම මුරපදයක් ටයිප් නොකිරීමට මගේ අවසරය මගේ ගොනුවේ තිබිය යුත්තේ කුමක් ද ?

දැනට මගේ අවසරයන් පහත පරිදි සකසා ඇත:

-rw-------@ 1 Jody  staff   114 Nov  4 23:29 config
-rw-------  1 Jody  staff  1743 Oct 21  2009 id_rsa
-rw-------@ 1 Jody  staff   397 Oct 21  2009 id_rsa.pub 
-rw-------@ 1 Jody  staff  3855 Sep 13 22:35 known_hosts

#!/bin/bash find .ssh/ -type f -exec chmod 600 {} \;; find .ssh/ -type d -exec chmod 700 {} \;; find .ssh/ -type f -name "*.pub" -exec chmod 644 {} \;
අඛිල් ජලගම්

Answers:


710

සාමාන්‍යයෙන් ඔබට අවශ්‍ය වන්නේ අවසරයන් ය:

  • .ssh නාමාවලිය: 700 (drwx------)
  • පොදු යතුර ( .pubගොනුව):644 (-rw-r--r--)
  • පුද්ගලික යතුර ( id_rsa):600 (-rw-------)
  • අවසාන වශයෙන් ඔබේ නිවාස නාමාවලිය කණ්ඩායමට හෝ වෙනත් අයට ලිවිය නොහැක (බොහෝ දුරට 755 (drwxr-xr-x)).

මම උපකල්පනය කරන්නේ ඔබ අදහස් කරන්නේ ඔබ සෑම විටම ඔබේ පද්ධතිය / පරිශීලක මුරපදය ඇතුළත් කළ යුතු බවත්, මීට පෙර ඔබට එසේ නොකළ යුතු බවත්ය. cdhowie හි ප්‍රතිචාරය වන්නේ ඔබේ යතුරු ජනනය කිරීමේදී ඔබ මුරපදයක් / මුරපදයක් සකසා ඇති බවයි. ඔබ එසේ කළහොත් ඔහු පවසන පරිදි ඔබ ssh නියෝජිතයෙකු භාවිතා නොකරන්නේ නම් සෑම විටම ඔබේ මුරපදය ඇතුළත් කළ යුතුය.


17
බලයලත්_කයිස් ගොනුව භාවිතා කරන්නේ නම් එය 640 දක්වා chmod'd කළ යුතු බව මම වෙනත් තැනකින් සොයා ගතිමි, එනම් -rw-r -----.
ne න් TheAgile

7
මෑන් පිටුවල මෙම තොරතුරු මට සොයාගත හැක්කේ කොතැනින්ද?
සොනික්

154
මම දැන් 30 වතාවක් පමණ මෙම තනතුරට පැමිණ සිටිමි. මට එය මතක නැතැයි විශ්වාස කළ නොහැක.
JREAM

8
එකම වැදගත් දෙය නම් .ssh හි කිසිවක් වෙනත් කිසිවෙකුට ලිවිය නොහැකි අතර රහස් යතුරු කිසිවක් වෙනත් කිසිවෙකුට කියවිය නොහැක.
මාකස් කුන්

6
Er සෙරින් ඩිරෙක්ටරියක අවසරය ලබා දීමෙන් එම ඩිරෙක්ටරියේ ක්ෂණික ළමා ලිපිගොනු / ඩිරර් ලැයිස්තුගත කිරීමේ හැකියාව ලබා දෙයි, ෆෝල්ඩරය තුළ ඇති ලිපිගොනු ඔවුන්ගේ මව් ෆෝල්ඩරයේ ක්‍රියාකාරී බිට් "උරුම" නොකරයි.
තෝමස්

94

මම මේ සමඟ සදහටම පොරබදමින් සිටි අතර අවසානයේ අවශ්‍ය දේ සොයා ගතිමි. $USERඔබට සේවාදායකයට පිවිසීමට අවශ්‍ය SSH පරිශීලක නාමය සමඟ සෑම තැනකම ප්‍රතිස්ථාපනය කරන්න . ඔබ ආදිය rootභාවිතා කිරීමට අවශ්‍ය පරිදි පුරනය වීමට උත්සාහ කරන්නේ නම් /root/.ssh, ඒ වෙනුවට /home/root/.sshමූල නොවන පරිශීලකයින් සඳහා එය එසේ වේ.

  • සේවාදායකයේ නිවාස නාමාවලිය වෙනත් අයට ලිවිය නොහැක: chmod go-w /home/$USER
  • සේවාදායකයේ SSH ෆෝල්ඩරයට අවසර 700 ක් අවශ්‍ය වේ: chmod 700 /home/$USER/.ssh
  • බලයලත්_කයිස් ගොනුවට අවසර 644 ක් අවශ්‍ය වේ: chmod 644 /home/$USER/.ssh/authorized_keys
  • userලිපිගොනු / ෆෝල්ඩර අයිති බවට වග බලා ගන්න සහ නොව root: chown user:user authorized_keysසහchown user:user /home/$USER/.ssh
  • උත්පාදනය කළ පොදු යතුර (වෙතින් ssh-keygen) පරිශීලකයාගේ authorized_keysගොනුවේ සේවාදායකයේ තබන්න
  • පරිශීලකයාගේ නිවාස නාමාවලිය ඔබ බලාපොරොත්තු වන ආකාරයට සකසා ඇති .sshබවත් ඔබ වෙනස් කරන නිවැරදි ෆෝල්ඩරය එහි අඩංගු බවත් සහතික කරගන්න. එසේ නොවේ නම්, usermod -d /home/$USER $USERගැටළුව විසඳීමට භාවිතා කරන්න
  • අවසාන වශයෙන්, ssh නැවත ආරම්භ කරන්න: service ssh restart
  • ඉන්පසු දේශීය පරිශීලකයාගේ .sshෆෝල්ඩරයේ පොදු යතුර සහ පුද්ගලික යතුරු ගොනු සේවාදායකයාට ඇති බවට වග බලා ගෙන පුරනය වන්න:ssh user@host.com

ඔබගේ පළමු ඡේදය සම්බන්ධයෙන් abc, දුරස්ථ සේවාදායකයේ පරිශීලකයාට වඩා වෙනස් (උදා ) මගේ දේශීය ලිනක්ස් පෙට්ටියේ (උදා ) පරිශීලකයෙකු සමඟ පොදු / පෞද්ගලික යතුරු සමඟ ssh කිරීමට මට def@123.456.789හැකිය. දේශීය පරිශීලකයාට දේශීය .ssh ලිපිගොනු අයිති බව සහතික කර ගැනීමට මට සිදු විය (උදා: abc:abcනොවේ root:abc) `
මයිකල්

1
නවකයින් සඳහා සියලු පියවර සහ විධානයන් තැබීමට ස්තූතියි, ඇලෙක්ස්. ඔබගේ වඩාත්ම ප්‍රයෝජනවත් පිළිතුරු වලින් එකකි.
නව

7
+1. "බලයලත්_කයිස් ගොනුවට අවසර 644 ක් අවශ්‍යයි" <= එය තීරණාත්මක විය!
Le Quoc වියට්

ඔබ .ssh ඩිරෙක්ටරි 700 මාදිලිය ලබා දෙන්නේ නම්, කණ්ඩායමට සහ අනෙක් අයට r-- ලබා දීමෙන් පලක් නැත , මන්ද ඔබට "හරහා" යා හැක්කේ .ssh එවිට පමණි (මෙම ලිපිගොනු සඳහා දෘඩ සම්බන්ධතා නොමැති බව උපකල්පනය කරන්න). පිළිගත් පිළිතුර සඳහා සමාන වේ. පෙරනිමි 755 ප්රමාණවත්ය.
user3125367

1
මගේ අත්දැකීම් අනුව pem ගොනු සඳහා 400 ක් ප්‍රමාණවත් වේ.
AT

37

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

chmod g-w,o-w ~


8
FYI, මෙම විධානය උපකල්පනය කරන්නේ ඔබ පරිශීලකයා ලෙස ලොග් වී ඇති බවත් එය root නොවන බවත්ය
ඇලෙක්ස් ඩබ්ලිව්

6

අවසරයන්ට මේ සමඟ කිසිම සම්බන්ධයක් නොතිබිය යුතුය. ඔබගේ පුද්ගලික යතුර මුරපදය සමඟ සංකේතනය කර ඇති බැවින් පුද්ගලික යතුර විකේතනය කර භාවිතයට ගත හැකි වන පරිදි ඔබ එය ඇතුළත් කළ යුතුය.

විකේතනය කළ යතුරු හැඹිලිගත කළ හැකි ssh නියෝජිතයෙකු ධාවනය කිරීම ගැන ඔබට සලකා බැලිය හැකි අතර ඒවා අවශ්‍ය යෙදුම් වෙත සපයනු ඇත.


Ssh නියෝජිතයා පිළිබඳ අමතර තොරතුරු වලට ස්තූතියි. පෙනෙන විදිහට දිවියා තුළට එකක් තනා ඇති නිසා මම හිතන්නේ මම ඒක කරන්නම්. ඒ ගැන ටිකක් කරදර ඇති නමුත් මම තවත් ප්‍රශ්නයක් අසමි.

8
අවසරයන් අවතක්සේරු නොකරන්න. ඔවුන් අනිවාර්යයෙන්ම තවමත් ක්රියාත්මක වේ.
ඇලෙක්ස් ඩබ්ලිව්

Lex ඇලෙක්ස් ඩබ්ලිව් ඒවා ක්‍රියාත්මක වන්නේ ssh හි වෙනත් අංශ සමඟ ය, නමුත් ප්‍රශ්නයේ දී විමසූ තැනැත්තා නොවේ.
cdhowie

2
ඔබට පුද්ගලික යතුරු වල මුරපදයක් නොමැති නම් (ස්වයංක්‍රීය දුරස්ථ ස්ක්‍රිප්ට් නම්), එය ඔබට උදව් නොකරනු ඇත. මෙහි අවසර අවශ්‍ය වේ.
nerdoc

"මට සෑම විටම මගේ මුරපදය ටයිප් කළ යුතුය. මම එය භාවිතා කරන යෙදුමක් භාවිතා කරන සෑම අවස්ථාවකම මුරපදයක් ටයිප් නොකිරීමට මගේ id_rsa ගොනුවේ මගේ අවසරයන් කුමක් විය යුතුද?"
ක්‍රේග් හික්ස්

5

ෆෙලිපේ නිවැරදියි - ඔබේ .ssh නාමාවලිය අඩංගු නාමාවලිය සමූහයක් හෝ වෙනත් අය විසින් ලිවිය නොහැක. මේ අනුව chmod go-w ~ඔබ තවමත් ධාවනය පසු ssh'ing විට මුරපදය සඳහා ඔබෙන් විමසනු ඇත උත්සහ කිරීම ඊළඟ තර්කානුකූල දෙයක් ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keysඔබ ssh-keygen විධානය මුරවදනක් අනුයුක්ත නැහැ, සහ ඔබේ .ssh බහලුම ඔබගේ නිවසේ බහලුම වේ යැයි උපකල්පනය.

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.