SSH login with key

ပုံမွန္ SSH ကို login ဝင္ရင္ ကြၽန္ေတာ္တို႔ေတြ password ကို အသုံးျပဳၾကပါတယ္။ Password ကို အသုံးမျပဳပဲ လက္ရွိ device ဆိုရင္ အလိုအေလ်ာက္ login ဝင္လို႔ရေအာင္ ဖန္တီးႏိုင္ပါတယ္။ ကြၽန္ေတာ္တို႔ေတြ အေနနဲ႔ ပထမဆုံး ssh key တစ္ခု ဖန္တီး ဖို႔ လိုပါတယ္။

ssh-keygen

ဆိုၿပီး terminal မွာ ႐ိုက္လိုက္ပါ။ Mac ႏွင့္ Linux အတြက္ အဆင္ေျပေပမယ့္ Windows မွာဆိုရင္ေတာ့ putty အသုံးျပဳရလိမ့္မယ္။

အဲဒီ အခါမွာ ~/.ssh/ ထဲမွာ id_rsa.pub နဲ႔ id_rsa file ၂ ခု ေတြ႕ရပါလိမ့္မယ္။ id_rsa.pub ကေတာ့ public file ျဖစ္ၿပီးေတာ့ id_rsa ကေတာ့ private file ျဖစ္ပါတယ္။

id_rsa.pub file ကို text editor ျဖင့္ ဖြင့္ပါ။ text ကို copy ကူးပါ။ Mac ဆိုရင္ေတာ့

cat ~/.ssh/id_rsa.pub | pbcopy

အဲဒါဆိုလွ်င္ တစ္ခါတည္း copy ကူးၿပီးသား ျဖစ္သြားပါလိမ့္မယ္။

လက္ရွိ ဝင္ေနၾက ssh ကို login ဝင္ပါ။ ၿပီးလွ်င္

cd ~/.ssh/
vi authorized_keys

ကြၽန္ေတာ္တို႔ copy ကူးထားသည့္ key ကို paste လုပ္လိုက္ပါ။ ၿပီးလွ်င္ တစ္ေၾကာင္း ဆင္းပါ။ vim မသုံးတတ္ရင္ nano သုံးလည္း ျဖစ္ပါတယ္။

တစ္ခါတစ္ေလ AWS လိုမ်ိဳး server ေတြမွာ authorized_keys ထည့္ေပမယ့္ အလုပ္မလုပ္တာ ရွိတတ္တယ္။ sshd config ကို ျပင္ဖို႔ လိုပါတယ္။ ကြၽန္ေတာ္တို႔ SSH server က sshd config ကို ျပင္ဖို႔ အတြက္

vi /etc/ssh/sshd_config

ၿပီးလွ်င္ ေအာက္ပါ စာေတြက comment disable လုပ္ထားလား စစ္ပါ။ မလုပ္ထားရင္ လုပ္လိုက္ပါ။

# root access ျဖင့္ login ဝင္လို႔ ရရန္
PermitRootLogin yes

# Password ျဖင့္ Login ဝင္လို႔ ရရန္ , no ဆိုလွ်င္ key ျဖင့္သာ ဝင္ႏိုင္မည္။
PasswordAuthentication yes

ၿပီးလွ်င္

service ssh restart

ျပဳလုပ္ေပးရန္ လိုအပ္သည္။

ၿပီးလွ်င္

ssh [email protected][ServerIP]

ဆိုလွ်ွင္ တိုက္႐ိုက္ ဝင္လို႔ ရသည္ ကို ေတြ႕ရပါမည္။ အကယ္၍ ဝင္လို႔ မရပဲ password ေတာင္းေနလွ်င္ /etc/ssh/sshd_config မွာ

AuthorizedKeysFile     .ssh/authorized_keys

ဆိုတာ ထပ္ျဖည့္ေပးရန္ လိုအပ္သည္။ ၿပီးလွ်င္

service ssh restart

ျပန္လုပ္ေပးပါ။

ၿပီးေနာက္ ေနာက္တစ္ခါ login ျပန္ဝင္ၾကည့္ပါ။

အကယ္၍ key တစ္ခုတည္းကို team အေနနဲ႔ သုံးမယ္ ဆိုရင္ .ssh/id_rsa file ကို ေပးႏိုင္ပါတယ္။ ssh ျဖင့္ login ဝင္သည့္ အခါမွာေတာ့ ေအာက္ပါ အတိုင္း ဝင္ႏိုင္ပါတယ္။

ssh -i mykeyfile [email protected][ServerIP]

အေကာင္းဆုံးကေတာ့ server access ရွိမည့္ သူမ်ားရဲ႕ စက္ရဲ႕ public key ကိုေတာင္း ၿပီး server ရဲ႕ authorized_keys ထဲမွာ ထည့္ထားပါ။ ၿပီးရင္

PasswordAuthentication no

ေပးထားခဲ့ရင္ key မရွိပဲ ဝင္ဖို႔ ခက္ခဲသြားပါလိမ့္မယ္။


 
7 Kudos
Don't
move!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.