Linux server ကို ချိတ်ဆက်ဖို့ အဓိကနည်းလမ်းကတော့ SSH protocol ကနေတစ်ဆင့်ပါ ။ ဒီချိတ်ဆက်မှုအမျိုးအစားက လုံခြုံပါတယ်၊ ဘာလို့လဲဆိုတော့ ၎င်းမှတစ်ဆင့် လွှဲပြောင်းပေးတဲ့ data အားလုံးကို encrypt လုပ်ထားလို့ပါ။ SSH ချိတ်ဆက်မှုကို တည်ဆောက် ဖို့အတွက် သင်ချိတ်ဆက်ချင်တဲ့ remote server မှာ configure လုပ်သင့်ပြီး user ဘက်က client မှာ configure လုပ်သင့်ပါတယ်။ SSH ချိတ်ဆက်မှုအတွက် software အများကြီးရှိပါတယ်။ Linux အတွက်ကတော့ OpenSSH package က အသုံးအများဆုံးဖြစ်ပြီး Windows အတွက်ကတော့ PuTTY ကို အများဆုံးအသုံးပြုကြပါတယ်။
ဥပမာအနေနဲ့ Ubuntu Server 18.04 ကိုအသုံးပြုထားတဲ့ server configuration ကို အနီးကပ်လေ့လာကြည့်ရအောင်၊ ပြီးတော့ Linux နဲ့ Windows က server ကိုချိတ်ဆက်ကြည့်ရအောင်။
ကျွန်ုပ်တို့လုပ်ဆောင်သမျှသည် သာမန်အသုံးပြုသူ၏အကောင့်မှ ဖြစ်လိမ့်မည်။ ဤကိစ္စတွင်၊ ကျွန်ုပ်တို့သည် “ mihail ” အသုံးပြုသူတစ်ဦးကို ဖန်တီးခဲ့ပြီး “ root ” အကောင့်ကို default အားဖြင့် disable လုပ်ထားသည်။
ဆာဗာ ဘက်ခြမ်း တည်ဆောက်မှု
ဤအမိန့်ကို အသုံးပြုသည့် ပက်ကေ့ခ်ျကို စနစ်ထည့်သွင်းပါ-
sudo apt install openssh-server
တပ်ဆင်ခြင်းပြီးသောအခါ၊ ဝန်ဆောင်မှုကို လုပ်ဆောင်နေကြောင်း သေချာပါစေ။ ဤအမိန့်ကိုသုံးပါ-
systemctl status sshd
“ Active (running) ” အခြေအနေဆိုသည်မှာ ဝန်ဆောင်မှုကို ဖွင့်ထားပြီး ပုံမှန်အတိုင်း လည်ပတ်နေကြောင်း ဆိုလိုသည်။
ဤဆောင်းပါးတွင် ကွန်ရက် firewall ကို configure လုပ်မည်မဟုတ်သောကြောင့် ၎င်းကို firewall မှ အဝင်ချိတ်ဆက်မှုများကို ပိတ်ဆို့ခြင်းမှ ရှောင်ကြဉ်ရန် သေချာအောင်လုပ်ပါ။
ဤအမိန့်ကိုသုံးပါ-
sudo ufw disable
ဤအဆင့်တွင် သင်သည် ဆာဗာသို့ ချိတ်ဆက်ပြီးဖြစ်သည်။ ပုံသေဆက်တင်များဆာဗာဖြင့် စကားဝှက်အခြေပြု စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းဖြင့် standard port 22 သို့ ချိတ်ဆက်မှုကို ခွင့်ပြုသည်။
Linux မှ SSH ချိတ်ဆက်မှု
စည်းကမ်းအတိုင်း၊ OpenSSH client ကို မူရင်းအတိုင်း Linux တွင် ထည့်သွင်းထားပြီး အပိုလက်စွဲပုံစံဖွဲ့စည်းမှု မလိုအပ်ပါ။ ssh command ၏အကူအညီဖြင့် terminal မှချိတ်ဆက်မှုကိုတည်ဆောက်နိုင်သည်။ ဤကိစ္စတွင် ကန့်သတ်ချက်များသည် အဝေးထိန်းဆာဗာ၏ အသုံးပြုသူအမည်နှင့် IP လိပ်စာဖြစ်လိမ့်မည်။ နမူနာအဖြစ် ကျွန်ုပ်တို့အသုံးပြုနေသည့် ကျွန်ုပ်တို့၏ စမ်းသပ်ဆာဗာတွင် “mihail” အကောင့်တစ်ခုသာ ရှိသောကြောင့် ၎င်းကို ကျွန်ုပ်တို့ အသုံးပြုပါမည်။
ssh [email protected]
ပထမဆုံး ချိတ်ဆက်မှုမှာ server ရဲ့ public key ကို database ထဲ ထည့်ဖို့ အတည်ပြုရမှာမို့ " yes " လို့ ပြန်ဖြေပါ။ ပြီးရင် password ရိုက်ထည့်နိုင်ပါတယ်။ ချိတ်ဆက်မှု အောင်မြင်သွားရင် server ရဲ့ command line မှာ ကြိုဆိုတဲ့ စာသားကို မြင်ရပါမယ်။ အခုဆိုရင် command အားလုံးကို remote server မှာ တိုက်ရိုက် execute လုပ်ပြီးသား ဖြစ်ပါလိမ့်မယ်။
Windows မှ SSH
Putty ကိုဖွင့်ပြီး connection parameters တွေကို သတ်မှတ်ပါ။ “ Connection type ” switch ကို SSH သို့ပြောင်းထားကြောင်း သေချာပါစေ။ “ Host Name ” field တွင် IP address ကိုရိုက်ထည့်ပြီး default value ကို “ Port ” field တွင် 22 ထည့်ပြီး “ Open ” ကိုနှိပ်ပါ ။
ပထမဆုံး ချိတ်ဆက်မှုမှာ Putty က ဒီ server ကို ယုံကြည်ကြောင်း အတည်ပြုဖို့ မေးပါလိမ့်မယ်၊ ဒါကြောင့် “ Yes ” ကို နှိပ်ပါ။
သင်သည် login နှင့် password ကိုရိုက်ထည့်ပြီးနောက်၊ အဝေးထိန်းဆာဗာ၏ command line ကိုတွေ့လိမ့်မည်။
သော့ဖြင့် စစ်မှန်ကြောင်း အတည်ပြုခြင်း။ လုံခြုံရေးအဆင့်တိုးမြှင့်
ဖောက်သည်တစ်ဦးသည် SSH မှတစ်ဆင့် ဆာဗာသို့ လုံခြုံသောချိတ်ဆက်မှုကို ထူထောင်ရန် ကြိုးစားသောအခါ၊ ချိတ်ဆက်မှုကို ခွင့်ပြုခြင်းမပြုမီ ဆာဗာသည် ကလိုင်းယင့်အား စစ်မှန်ကြောင်းအထောက်အထား (အတည်ပြုရန်) လိုအပ်သည်။ အထက်ဖော်ပြပါအတိုင်း၊ စကားဝှက်အခြေပြု စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို ပုံမှန်အားဖြင့် အသုံးပြုပါသည်။ ၎င်းသည် ခိုင်မာသောလုံခြုံရေးကို ပေးစွမ်းခြင်းမရှိပါ၊ အဘယ်ကြောင့်ဆိုသော် ၎င်းကို bruteforce လုပ်ရန်နည်းလမ်း အမြဲရှိနေသောကြောင့်ဖြစ်သည်။ ထို့အပြင်၊ စကားဝှက်စစ်မှန်ကြောင်းသက်သေပြခြင်းသည် SSH ချိတ်ဆက်မှုများကို script များအသုံးပြုခြင်းအတွက်မသက်ဆိုင်ပါ။
ဤအလုပ်အမျိုးအစားအတွက် သော့ဖြင့် အထူးစစ်မှန်ကြောင်းအထောက်အထားပြနည်းလမ်းတစ်ခုရှိသည်။ အဓိကအချက်မှာ client သည် private နှင့် public keys များကိုထုတ်ပေးပြီး public key ကို server သို့ပေးပို့ခြင်းဖြစ်သည်။ ၎င်းနောက် ဆာဗာသို့ ချိတ်ဆက်ရန် စကားဝှက် မလိုအပ်ပါ၊ အဘယ်ကြောင့်ဆိုသော် အထောက်အထားစိစစ်ခြင်းကို အများသူငှာနှင့် ပုဂ္ဂလိက ကလိုင်းယင့်သော့များပေါ်တွင် အခြေခံ၍ စစ်မှန်ကြောင်း အတည်ပြုခြင်း ပြုလုပ်ပါသည်။ ကောင်းမွန်သော လုံခြုံရေးအဆင့်ကို ပေးဆောင်ရန်၊ သီးသန့်သော့ကို အသုံးပြုခွင့်ကို ကန့်သတ်ထားသင့်သည်။ လျှို့ဝှက်သော့ကို client ဘက်တွင် သိမ်းဆည်းထားပြီး ကွန်ရက်မှတဆင့် လွှဲပြောင်းခြင်းမပြုသောကြောင့်၊ ဤနည်းလမ်းသည် ပိုမိုလုံခြုံသည်ဟု ယူဆပါသည်။
Linux တွင် သော့ဖြင့် စစ်မှန်ကြောင်းအထောက်အထားပြခြင်း။
ssh-keygen utility software ၏အကူအညီဖြင့် client တွင် အများသူငှာနှင့် သီးသန့်သော့များကို ထုတ်လုပ်ကြပါစို့။ ကိရိယာသည် သီးသန့်သော့သို့ လမ်းကြောင်းပြောင်းကာ လုံခြုံရေးအတွက် စကားဝှက်တစ်ခု ထည့်သွင်းရန် အကြံပြုပါမည်။ တောင်းဆိုမှုတိုင်းတွင် Enter နှိပ်ခြင်းဖြင့် ဘောင်များအားလုံးကို မူရင်းအတိုင်းထားလိုက်ပါ။
ရလဒ်အနေဖြင့်၊ .ssh folder ရှိ home directory တွင်၊ သင်သည် private နှင့် public keys များပါရှိသော id_rsa နှင့် id_rsa.pub ဖိုင်နှစ်ခုကို သင်တွေ့လိမ့်မည်။
ပြီးရင် public key ကို server ကိုပို့ရပါမယ်။ အဲဒီလိုလုပ်ဖို့ “ id_rsa.pub ” ဖိုင်ရဲ့ content ကို server မှာရှိတဲ့ “ ~/.ssh/authorized_keys ” ဖိုင်ထဲကို ကူးယူပါ။ “ ssh-copy-id ” tool ရဲ့အကူအညီနဲ့ အလွယ်ကူဆုံးနည်းလမ်းကို စလိုက်ကြရအောင် ။ သာမန်ချိတ်ဆက်မှုမှာလိုပဲ server ရဲ့ login နဲ့ IP address ကို ရိုက်ထည့်ပါ။ password ရိုက်ထည့်ပြီးရင် client ရဲ့ public key ကို server ကို အလိုအလျောက် ကူးယူပေးပါလိမ့်မယ်။ ဒီ command ကို run ပါ။
ssh-copy-id [email protected]
ဒါတွေအားလုံးလုပ်ပြီးရင် ဆာဗာက စကားဝှက်ထည့်ဖို့ မလိုအပ်တော့ပါဘူး။
Windows တွင် သော့ဖြင့် စစ်မှန်ကြောင်း အတည်ပြုခြင်း။
PUTTYGEN ကို ဖွင့်ပြီး “ Generate ” ကိုနှိပ်ပါ။ သော့များကိုထုတ်လုပ်ရန်အတွက် သင့် mouse ကို screen ပေါ်တွင် ရွှေ့ရုံသာလိုအပ်ပြီး tool သည် သော့များကို random generate လုပ်ပါလိမ့်မည်။
key တွေ generate လုပ်ပြီးတာနဲ့ “ Save private key ” ကိုနှိပ်ပြီး သင့် disk ထဲက private key ပါတဲ့ file မှာ save လုပ်ပါ။ သင်ကြိုက်နှစ်သက်ရာ path ကို သတ်မှတ်နိုင်ပါတယ်၊ ဒါပေမယ့် နောက်ပိုင်းမှာ Putty မှာ သတ်မှတ်ပေးဖို့ လိုအပ်ပါတယ်။ ပြီးရင် window ရဲ့အပေါ်ဆုံးက public key ကို copy ကူးပါ။
terminal ထဲကို ကူးယူပြီး public key ကို ပို့လိုက်ရအောင်။ Putty ကို ဖွင့်ပြီး ပုံမှန်အတိုင်း server နဲ့ ချိတ်ဆက်ပါ။ အခု “ .ssh/authorized_keys ” ကို ဖန်တီးပြီး တခြား user တွေ ဖိုင်ကို ဝင်ကြည့်လို့မရအောင် ကန့်သတ်လိုက်ရအောင်၊ ဒါမှ creator တစ်ယောက်တည်းပဲ အသုံးပြုနိုင်မှာပါ။
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
ဖိုင်ကိုဖန်တီးပြီးနောက်၊ သုံးစွဲသူ၏ အများသူငှာသော့ကို ၎င်းတွင်ထည့်ပါ။ ယခင်အဆင့်တွင် ကျွန်ုပ်တို့သည် အများသူငှာသော့ကို ကလစ်ဘုတ်သို့ ကူးယူထားပါသည်။ ကလစ်ဘုတ်တွင်ရှိသောအရာများကို ဖိုင်သို့မှတ်တမ်းတင်ရန် cat command နှင့် output redirection ကိုအသုံးပြုပါ။
cat > .ssh/authorized_keys
command ကိုရိုက်ထည့်ပြီးနောက် terminal window မှာ right mouse button ကိုနှိပ်ပြီး clipboard မှာရှိတာကို paste လုပ်ပါ။ input ကိုအတည်ပြုဖို့ “ Ctrl+D ” shortcut ကိုနှိပ်ပြီး server ကနေ ဖြုတ်လိုက်ပါ။
ယခု Putty ရှိ သီးသန့်သော့ဆီသို့ လမ်းကြောင်းကို သတ်မှတ်ပြီး ဆာဗာသို့ ထပ်မံချိတ်ဆက်ကြပါစို့။
ယခုမှစ၍ ဆာဗာသို့ ချိတ်ဆက်ရန်အတွက် အသုံးပြုသူအမည်ကို ထည့်သွင်းရန်သာ လိုအပ်မည်ဖြစ်သည်။ မှန်ကန်သော ကိုယ်ရေးကိုယ်တာသော့မပါသော အခြားစက်မှ ဆာဗာသို့ ချိတ်ဆက်ရန် ကြိုးစားနေပါက၊ ဆာဗာမှ စကားဝှက်ကို တောင်းဆိုပါမည်။ သော့အခြေခံ စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို စနစ်ထည့်သွင်းပြီးနောက်၊ သင်သည် စကားဝှက်ဖြင့် ဝင်ရောက်ခွင့်ကို တားမြစ်နိုင်သည်။