ပုံမှန် 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 root@[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 root@[ServerIP]
အကောင်းဆုံးကတော့ server access ရှိမည့် သူများရဲ့ စက်ရဲ့ public key ကိုတောင်း ပြီး server ရဲ့ authorized_keys
ထဲမှာ ထည့်ထားပါ။ ပြီးရင်
PasswordAuthentication no
ပေးထားခဲ့ရင် key မရှိပဲ ဝင်ဖို့ ခက်ခဲသွားပါလိမ့်မယ်။
Leave a Reply