Connect Via SSH To Your Server

အခုပြောပြမှာကတော့ မိမိတို့ရဲ့ Server တွေကို ssh ကနေမှတစ်ဆင့် Login ဝင်တာကိုပြောပြ ပေးမှာပဲ ဖြစ်ပါတယ်။ssh နဲ့မဝင်ခင် ဘာသိထားရမလဲဆိုတော့ ကျွန်တော်ဝင်ချင်သည့် Server ဧ။် IP,Username နဲ့ Password ကို သိထားရမှာပဲဖြစ်ပါတယ်။နောက်ပီးတော့ မိမိတို့ ဝင်ချင်သည့် server ပေါ်မှာ ssh service ကို run ထားဖို့လိုအပ်ပါလိမ့်မည်။ ssh service run မ run သိချင်ရင်တော့

# systemctl status sshd ဆိုသည့် Command နဲ့စစ်ကြည့်နိုင်ပါသည်။Active ဖြစ်နေရင်တော့ run နေပါသည်။

ပထမဦးဆုံးအနေနဲ့ Terminal ကနေ ip ဖြင့် Remote login ဝင်နည်းကိုပြောပြပေးမှာပဲဖြစ်ပါတယ်။

ssh login with Password

# ssh [email protected]

အဲ့လို login ဝင်လိုက်တာနဲ့ password တောင်းပါလိမ့်မယ်။ပထမဦးဆုံးဝင်သည့် အခါမှာတော့ authenication host ဆိုပြီးပြပီးတော့ Are you sure you want to continue connection (yes/no)? မေးပါလိမ့်မယ်။အဲ့အခါကျရင် Yes လို့ရိုက်ပေးပါ။ဒါဆို [email protected]’s password; ဒီလိုပြပီး မိမိဝင်မည့် Server ရဲ့ Password ကိုရိုက်ထည့်ပေးရမည်ဖြစ်ပါသည်။ ssh ကိုအသုံးပြုသည့်အခါ Server ကနေ Client ဆီကို encrypt လုပ်ထားသည့် Public key တစ်ခုပို့ပေးထားပါတယ်။ အဲ့ဒီ file ကတော့ ~/.ssh/known_host ဆိုသည့် file ဖြစ်ပြီးအဲ့ဒီfile ကိုကြည့်ချင်ရင်တော့ cd ~/.ssh ထဲကို ဝင်ပြီးတော့ cat known_host ဆိုပီးတော့ ကြည့်နိုင်ပါတယ်။ Server ဘက်မှာလဲ ဒီfile ကို /etc/ssh/*key* အောက်မှာသိမ်းထားပါတယ်။ Server ကို ssh နဲ့ Client က login ဝင်တိုင်းဒီ key နှစ်ခုကိုစစ်ဆေး ပါတယ်။ အဲ့ဒါတွေတူမှ login ဝင်လို့ရမည်ဖြစ်ပါသည်။အကယ်၍ဒီ key တွေကို အကြောင်းတစ်ခုခုကြောင့် server ဘက်ကပြောင်းလိုက်တာနဲ့ login ဝင်လို့ရတော့မှာမဟုတ်ပါဘူး။ဒါဆိုရင် Client ဘက်မှာရှိသည့် ~/.ssh/known_host ဆိုသည့် file ကိုဖြတ်ပီး ssh နဲ့ ထပ်မံ login ဝင်ပေးဖို့လိုပါတယ်။

ssh login private-public key

နောက်ထပ်ပြောပြပေးမှာကတော့ ssh ပဲ ဒါပေမဲ့ private-public key ကနေဝင်တာကိုပြောပြမှာ ဖြစ်ပါ တယ်။ private-public key ဆိုတာကတော့ password သုံးစရာမလိုပဲ login ဝင်နည်းပါ။ဒီနည်းကပိုပြီးတော့ secure ဖြစ်ပါတယ်။Client ကနေ Server ရဲ့ root ဆိုသည့် account ဆီ login ဝင်မည်ဆိုပါစို့။ Client စက်မှာ Private နဲ့ Public Key နှစ်ခုဖန်တီးရမှာဖြစ်ပါတယ်။ဖန်တီးပြီးရင်တော့ Server ဆီကို Public key ကိုလှမ်းပို့ရပါမယ်။ဒါဆိုရင် Password မထည့်ပဲ Login ဝင်လို့ရပီပဲဖြစ်ပါတယ်။Client စက်မှာ Private နဲ့ Public Key ကိုဖန်တီးဖို့ အတွက်က

# ssh-keygen (Enter) နှိပ်ပါ။

ဒီလို key နှစ်ခုလုံးဆောက်ပြီးသွားပြီဆိုရင် ~/.ssh/ ဒီအောက်မှာ private key ကိုကျတော့ id_rsa အနေနဲ့တွေ့ရပြီး Public key ကို ကျတော့ id_rsa.pub ဆိုပြီးတွေ့ရမည်ဖြစ်ပါသည်။ key တွေဖန်တီးပြီးသွားပီဆိုတော့ Public Key ကို Server ဆီပို့တော့မှာဖြစ်ပါတယ်။ Command ကတော့

# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]5 ဆိုပြီးရိုက်ပီးပို့လိုက်ပါ။ပို့ လိုက်ရင် Are you sure you want to continue connecting (yes/no/[fingerprint])? ဆိုပြီးပေါ်လာရင် yesဆို ပြီးရိုက်ပြီး Enter နှိပ်ပါ။ ပြီးရင်တော့ [email protected]’s password: ဆိုပြီးပေါ်လာမည်ဖြစ်ပြီး အဲ့မှာ Server ရဲ့ password ကို ရိုက်ထည့်ပေးလိုက်ပါ။ ပြီးရင်တော့

Number of key(s) added: 1

Now try logging into the machine ,with : “ssh ‘[email protected]’ ”

And check to make sure that only the key(s) you wanted were added.

ဆိုပြီးပေါ်လာမည်ဖြစ်ပါသည်။အဲ့ဒါဆိုရင်တော့ Server ကို public key ပို့တာအောင်မြင်သွားပြီဖြစ်ပါသည်။ပြီး ရင် ssh [email protected] ဆိုပြီး Login ဝင်လိုက်ပါ။မိမိ Server ကို # ssh [email protected] ဆိုပြီး Login ဝင်သည့် အခါဘာ Password မှရိုက်စရာမလိုပဲ Login ဝင်လို့ရပီဖြစ်ပါသည်။နောက်ထပ် တစ်ခုက ssh ဖြင့် root Account ကိုLogin ဝင်တာကိုပိတ်ချင်တယ်ဆိုရင်တော့ မိမိရဲ့ Server ထဲက /etc/ssh/sshd_config ဆိုသည့် file ထဲမှာရှိသည့် PermiRootLogin = yes လို့ဖြစ်နေတာကို No လို့ ဝင်ပြင် ပေးရမှာဖြစ်ပါတယ်။ပီးသွားရင်တော့ # systemctl restart sshd ဆိုပြီး ရိုက်လိုက်ပါ။ ဒါဆိုခုနကပြင်ထားသည့် စာက effect ဖြစ်သွားပီး root account ကို ssh ဖြင့် login ဝင်လို့ရတော့မှာ မဟုတ်ပါ။

SSH Port Number Change

ယခုထပ်ပီး ssh default port number change တာပြောပြပေးမှာဖြစ်ပါတယ်။အရင်ဆုံးအနေနဲ့ ssh port number ဘယ်လောက်လဲသိချင်ရင် Command $ grep -i port /etc/ssh/sshd_config ပဲဖြစ်ပါသည်။

SSH port Number ကိုသိပြီဆိုတော့ အခုကျွန်တော်တို့ ssh port number ကိုချိန်းမှာဖြစ်ပါတယ်။ssh port number ချိန်းဖို့အတွက် /etc/ssh/ ထဲက sshd_config ဆိုသည့် file ကို ဝင်ပြင်ဖို့အတွက်နှစ်သက်ရာ text editor key (vi,nano) စသဖြင့်အသုံးပြုလို့ရပါတယ်။ ဒီနေရာမှာတော့ လွယ်ကူအောင် ကျွန်တော်က nano editor နဲ့ပဲပြသွားမှာဖြစ်ပါတယ်။

ဒီနေရာမှာ ဘာလို့ sudo ခံလဲဆိုတော့ sshd_config ဆိုသည့် file က root directory အောက်မှာရှိသည့်အတွက် sudo ခံပြီး root password ဖြင့်ဝင်ပြီး root permission ကိုယူရန်အတွက်ဖြစ်သည်။ root password ရိုက် ထည့်ပြီးပြီဆိုတာနဲ့ အောက်ပါအတိုင်းပေါ်လာမည်ဖြစ်သည်။

အဲ့နေရာမှာ #port 22 ဆိုသည့်နေရာမှာ အရှေ့က # sign ကိုဖြုတ်ပြီးတော့ အနောက်က port number နေရာမှာ မိမိပေးချင်သည့် port number ရိုက်ထည့်လိုက်ပါ။ပြီးရင်တော့ file ကို ရန်အတွက် Ctrl + x ကိုနှိပ်ပြီး Enter ကိုနှိပ်ပါ။ဒါဆိုရင် file ကို save ပိတ်သွားမည်ဖြစ်သည်။

File save ပြီးသွားရင်ဆိုရင်တော့ ssh service ကို restart ချပေးပါ။ssh service ကို restart ချပေးမှသာ အခု ချိန်းလိုက်သည့် Port Number ကအလုပ်လုပ်မည်ဖြစ်ပါသည်။ ssh service restart ချရန်အတွက် root permission လိုအပ်မည်ဖြစ်ပြီး Command ကတော့ -

# systemctl restart sshd ဆိုပြီးရိုက်လိုက်ပါ။

ပြီးသွားရင်တော့ ssh [email protected] ဆိုပြီး login ဝင်ကြည့်ပါ။အဲ့လို Login ဝင်လိုက်သည့်အခါ ssh : connect to host 192.168.25.15 port 22 : Connection refused ဆိုပြီးပေါ်လာမည်ဖြစ်သည်။ ဘာလို့လဲ ဆိုတော့ port 22 ကို ကျွန်တော်တို့ကချိန်းလိုက်သောကြောင့်ဖြစ်ပါသည်။ယခုအခါ ချိန်းထားသည့် port 5555 ဖြင့် Login ဝင်ရန်အတွက် # ssh [email protected] -p 5555 ဆိုပြီး ရိုက်ပြီးဝင်လိုက်ပါ။ပုံမှန်အတိုင်း Login ပြန်ဝင်လို့ရနေမည်ဖြစ်ပါသည်။

Last updated