နိဒါန်း
Linux SSH Key ဖယ်ရှားခြင်း ဆိုတာ ကိုယ်စိတ်ကြိုက် SSH Key ကို ဖယ်ရှားလိုချင် ဖို့၊ သို့မဟုတ် အသစ်တစ်ခု ပြောင်းလိုချင်တဲ့အခါ အရေးပါတဲ့ လုပ်ဆောင်မှုအတစ်ခုပါ။ Cloud၊ VPS၊ Dedicated server တို့မှာ login လုပ်တိုင်း လုံခြုံရေးသေချာစေရန် အထူးသဖြစ် SSH security configuration ပြောင်းလဲဖို့ သက်ဆိုင်ရာ Key များ ဖျက်ထုတ်ပေးဖို့ တိုက်တွန်းပါတယ်။ ဒီစာလုံးကတစ်ဆင့်၊ ဘယ်နည်းနဲ့ SSH Key ဖျက်နိုင်သလဲ၊ ဘာလည်း အားသာချက်/အနုတ်ချက်ရှိလဲ၊ နောက်တစ်ချက် — နာမည်စုံနည်းများထဲက တစ်ခုခု သင့် server/scenario အတွက် သင့်တော်မှာလား ပြသပေးသွားမှာပါ။ marker များကို မကြည့်လည်း အောက်ပါ ဖြေရှင်းနည်းများ wiki အမ်တော်ပါရှိပါတယ်။
၁။ SSH Key ဆိုတာ အဘယ်ကြောင့် ဖယ်ရှားရသလဲ?
SSH (Secure Shell) ဆိုတာ remote server တွေကို လုံခြုံစွာ command line နှင့် admin tool များ ဖြင့် ချိတ်ဆက်နိုင်တဲ့ protocol မဟုတ်ပါ။ Public/private key pair တစ်ချို့ကို အသုံးပြုတာ အတော်လေး ကျယ်ပြနဲ့အတတ်နိုင်ပါတယ်။ အောက်ပါအခြေအနေတွင် Linux SSH Key ဖယ်ရှားခြင်း လုပ်သင့်ပါတယ်။
- လုံခြုံရေး: Key လစ်လပ်သွားရင်၊ algorithm မဟုတ်သုံးက outdated ဖြစ်ရင်၊ security breach ဖြစ်နိုင်တာမလွဲမလားစင်ပါ။
- အသုံးပြုသူ ပြောင်းလဲမှု: Server ကို team မိတ်ဆွေ သို့မဟုတ် အသစ်သူ မိတ်ဆွေကြီးရင်၊ နောက်ထပ် အသုံးပြုသူတစ်ယောက် Project ထဲက ထွက်သွားရင် ခွင့်ပြုမှုဖျက်ဖို့လိုပါတယ်။
- အသစ် security configuration: Key မဟုတ်သော algorithm (ဥ. Ed25519) ကို အသုံးပြုပြီး စနစ်ပြောင်းလဲရန်။
ဒါကြောင့် မသုံးတော့တဲ့ key တွေ ဖယ်ရှားပစ်ဖို့၊ routine security policy တွေခေတ်မှီလုပ်နိုင်ဖို့၊ မရှိမဖြစ် cyber attack vector ကို လျှော့ချနိုင်ပါတယ်။
၂။ SSH Key ကို ဖယ်ရှားဖို့ လုပ်ဆောင်လိုက်ရမည့် အခြေခံ အဆင့်များ
SSH Key ကို ဖယ်ရှားခြင်း လုပ်ရင် ဒါတွေကို လိုက်နာဖို့ လိုပါသေးတယ် -
- Local machine ထဲမှ key တွေလျှော်ဖို့ (
~/.ssh/folder တွင် private/public key pair ဖျက်ခြင်း။) - Remote server ပေါ် key တွေ authorized_keys မှ ဖျက်ခြင်း (
~/.ssh/authorized_keysfile ထဲ line ကို၊ သက်ဆိုင်ရာ key entry ကို ဖျက်ခြင်း။)
Local မှဖျက်ပြီး Server အတွင်းမှမှ authorized_keys ထဲ key ပဲရှိနေတဲ့နေအနေမှာ ကြည့်ရလား၊ attack vector တစ်ခုလေးကျန်ပါသေးတယ်။ ဒါကြောင့် နှစ်ဖက်စလုပြီး တစ်ချိန်တည်း ဖျက်သင့်ပါတယ်။
၂.၁ ကိုယ်ပိုင် Key ကို ဖယ်ရှားခြင်း
Linux/macOS သုံးသူများ ~/.ssh folder မှာ သင့် key ဘယ်တွေရှိလဲ ဖျက်လို့ရပါတယ်။ အသုံးများသောမှာ -
~/.ssh/id_rsa(Private Key)~/.ssh/id_rsa.pub(Public Key)~/.ssh/id_ed25519(Private Key)~/.ssh/id_ed25519.pub(Public Key)
အကြံပြု — key name မဟုတ်တာ (ဥပမာ mycustomkey) ကို identification တစ်ခုတည်းစမ်းပါ။ Command ရေးနည်း -
cd ~/.ssh/
rm id_rsa id_rsa.pub
# သို့မဟုတ်
rm id_ed25519 id_ed25519.pub
သင့် project မတူလမ်း မတူ key များရှိပါလျှင် သေချာရှေးလွှင့်မွန်းပြီးဖျက်ပါ။ လွဲစွာဖျက်လျှင် connection access ပြတ်တောက်နိုင်သတိထားပါ။

၂.၂ Server ပေါ် Key ကို ဖယ်ရှားခြင်း
Server အတွင်း မိမိ login ဝင်နေတဲ့ ~/.ssh/authorized_keys file ထဲသို့ သက်ဆိုင်ရာ public key line ကိုဖယ်ရှားပါ။ နမူနာ —
# server ကို login ဝင်ပါ
ssh [email protected]
# home directory မှ authorized_keys ဖွင့်ရန်
nano ~/.ssh/authorized_keys
# ဖယ်ချင်တဲ့ key line ကိုရှာပြီး ဖျက်ပါ
Key entry တစ်လခုကများလေးလှည်းသည်။ သင့် id_rsa.pub public key line တစ်လခု authorized_keys ထဲတွေ့လျှင်, line ကို တစ်လစုတည်းဖျက်ပေးပါ။ ဖျက်ပြီး save လုပ်လျှင် ထို key ပေါ် server access အတည်မထောင့်တော့ပါ။
၂.၃ ထူးခြားနည်း — ssh-copy-id နဲ့ Ters လုပ်ဆောင်နည်း
ssh-copy-id နည်းက တော်တော် key ထည့်ဖို့ အသုံးများတယ်။ ဖယ်ရှားမည့် options မပါနဲ့။ ဒါပေမယ့် ssh-copy-id နဲ့ တစ်ခါထည့်ထားတဲ့ key line တွေကို manual တည်းဖြတ် နဲ့ ဖျက်ရပါမယ်။ ssh-copy-id -r လုပ်တာ server မှာ authorized_keys entry ကိုတစ်ခါတည်း remove နည်းမစွမ်း။ ပိုပြီး automation လုပ်ရင် shell script, sed, awk တို့နဲ့ authorized_keys file ကို ရေးမျှ တွေ့စေပါလို့ဖြစ်သည်။
၃။ ဖယ်ရှားခြင်း၏ အကျိုးအမြတ်/အနုတ်များ
အခန်းကဏ္ဍမတင်လုပ်မရှင်းသော်လည်း ပထမကတည်လိုက်တိုင်း SSH Key ကိုဖယ်ရှားခြင်း policy ကို တင်ပြပါသည်။
၃.၁ အကျိုးအမြတ်များ
- လုံခြုံရေး မြှင့်တင်မှု: မသုံးသော၊ expired key တွေ ဖျက်ပြီး access surface ကို နည်းမြှင့်နိုင်သည်။
- ကျွမ်းကျင်မှု အလွယ်တကူ: team မှ ထွက်တဲ့ member access ကို လွယ်လှယ်ဖျက်နိုင်သလို management တန်းချင်းတိုးတက်နိုင်တယ်။
- စနစ်ဆိုးကောင်း: အမြဲ key update လုပ်သည့်အခါ နောက်ဆုံး algorithm (ဥ. Ed25519 သို့မျှ modern key) အသုံးပြုနိုင်သည်။
၃.၂ အနုတ်များ
- မှားဖျက်မှု: ပြဿနာနာလောင် key နားမလားဖျက်ရင်, access ပြတ်တောက်နိုင် - connection ပြန်မရနိုင်ပါ။
- အမြန်မလုပ်နိုင်မှု: တစ်ခါတည်း server အများကြီးနှင့် key user များစွာ ဖျက်ဖို့ စိန်ခေါ်မှုကြီးစိတ်ပါ။
- ဖြစ်ထွေးမှု: သိပ္ပံပညာမနဲ့ လုပ်မှု error ဖြစ်နိုင်ခြယ်စေတယ်။
ဒါကြောင့် key ဖျက်တာအလိုလို advantage ပါလေ့ရှိသော်လည်း အလုံခြုံစနစ်ကောင်းမြင်ရဖို့, လုပ်နိုင်လုပ်နိုင်ပြီး လေ့လာပြီးမှ လုပ်ပါ။
၄။ အသုံးအပြုနိုင်သော နိဿယနည်းများ
SSH key ဖျက်ခြင်း မှသာမက, နောက်ထပ် approach များလည်းရှိပါတယ်။ သင့် system/scenario တွေမှာ သင့်တော်မယ်ဆိုကောင်း —
၄.၁ Passphrase ပြန်လည်ပြုပြင်ခြင်း
SSH security setup ပြောင်းတဲ့အခါ, key သုံးပြီး passphrase ကို ssh-keygen -p နဲ့ update လုပ်ရနိုင်ပါတယ်။ လုံခြုံရေးမြှင့်တင်ဖို့ key remove လုပ်မျှအဆင်သင့်တယ်။
၄.၂ Key Revocation List (KRL)
OpenSSH v6.2 နောက်ဆုံးတဆင့် version တွေမှ KRL (Key Revocation List) function ပါပြီး server မှ၊ key/credential revoke လုပ်နိုင်ပါတယ်။ ssh-keygen -k -f revoked_keys မှ KRL file generate ပြီး, ssh config ထဲ link ပြုပြင်း revoke key တွေ assign လုပ်နိုင်ပါတယ်။
၄.၃ SSH Config File နဲ့ တားမြစ်နည်း
Server-side မှ /etc/ssh/sshd_config file ထဲမှာ policy သတ်မှတ်နိုင်ပါတယ်။ PasswordAuthentication no လုပ်ပြီး password login ပိတ်ပီး key only access policy ချပေးနိုင်ပါတယ်။ အုပ်ချုပ်မှု setup ကို team/project အသီးသီး ပြင်နိုင်တယ်။ သို့သော် key ကိုတစ်ကယ်ဖျက်တာမစွမ်း။
၅။ အသေးစိတ် ဥပမာနှင့် အကြံပေးချက်များ
တစ်ချို့သော real-life application များ -
- Developer team ဥပမာ: အဖွဲ့မှာ ၅ ယောက်ရှိတယ်။ ထွက်တဲ့အဖော်တစ်ယောက် အတွက် authorized_keys file မှ သူ့ public key line ကိုဖျက်ပါ။ ယခင် ကုမ္ပဏီ laptop မှ private key ကိုလည်း ဖျက်ပစ်ပါ။
- Server handover: ဝန်ဆောင်မှု/infra update လုပ်တဲ့အခါ, အဟောင်း server တွေ authorized_keys file မှ key ကျန်နေသလား ဖျက်ပြီး, အသစ် server မှ အမြန်တင်တင် key တင်ပါ။ Update တန်ဖိုးတွေလည်း data breach ကိုနည်းလေးကာကွယ်ပါတယ်။
- အရေးပေါ်ချက်: Key မမှန်ဘဲ leak ခဲ့ရင်, Linux SSH Key ဖျက်တာ ကိုတောင်းပန်ပြီး authentication delete လုပ်ပြီးတဲ့နောက် အသစ် key create & အသုံးပြုပါ။
၆။ ပြင်ပနဲ့ အတွင်း ဆက်သွယ်မှု
OpenSSH ပတ်လည် document တွေ သေချာလိုချင်ပါက OpenSSH Official Site မှ ကျယ်တိုးအကြောင်းအရာများ browse လုပ်ပါ။
Linux system configuration တွေကိုတော့ Linux category မှလည်း ရှာနိုင်ပါတယ်။
၇။ အနှစ်ချုပ် & ဖြေရှင်းနည်း
Linux SSH Key ဖယ်ရှားခြင်း ဆိုတာ security & admin system အတွက် သက်တောင့်သက်သာဖြစ်စေပါတယ်။ အသုံးမကောင်းတဲ့ key/entry တွေကိုလည်း ဖျက်ပစ်ပြီး team member ပြောင်းဆိုအဆုံးမှာ access revoke လုပ်နိုင်တယ်။
လုပ်ဆောင်ရာ အကင်မိုက်စေရန် SSH security configuration ထဲ မိမိ policy ရေးပြီး admin member တွေ coordination ဆောင်ပါ။ Modern cryptography method ကို တစ်နှစ်တစ်ကြိမ် update ပြုလုပ်ပြီး, မသုံးတော့တဲ့ key တွေ revoke လုပ်ထားဖို့ တိုက်တွန်းပါတယ်။ Cyber threat နဲ့ data breach တို့ကို အားမနဲ့တားဆီး/ကာကွယ်နိုင်ပါတယ်။
မခိုင်ခိုင်သာသာမလေးနားတစ်ခုက, Server access တစ်ခုမှာ small issue တစ်ခုက ဒေါဟော data breach ဖြစ်နိုင်ပါသည်။
အကြိမ်ကြုံများသော မေးခွန်းများ (FAQ)
၁။ SSH Key ဖယ်ရှားဖို့ အကောင့် ခွင့်ရှိမှာပဲ လိုပါသလား?
ဟုတ်ပါသည်။ SSH Key ဖျက်ဖို့ သင့် server ထဲ login လုပ်နေတဲ့ အချိန်မှာ authorized_keys file ကို တည်းဖြတ်နိုင်ပါတယ်။ ကိုယ်ပိုင် ကွန်ပျူတာမှာလည်း ~/.ssh directory ထဲ key/delete ချတော့လည်း local access မှ available ဖြစ်ပါတယ်။ Root console access ရင်လည်း GUI session မလိုဘူး။
၂။ SSH Key ဖယ်ရှားပြီးနောက် ကြိုးစားချွတ်မနည်းနည်းဖြစ်ပါလား?
ဦးနှောက် Key ဖယ်ရှားတာအပြီး, အဟောင်း key နဲ့ access မရနိုင်တော့ပါ။ အသစ် SSH security configuration ထဲ ssh-keygen command နဲ့ key pair generate လုပ်ပြီး server authorized_keys file ထဲ new public key ရိုက်ထပ်ထည့်ရသင့်ပါတယ်။
၃။ ပုံမှန် မတူညီသော Server တွေမှာ တစ်ခုတည်း Key သုံးနေတယ် ဆိုရင် အားလုံးမှာ ဖယ်ရှားလိုက်သင့်သလား?
Key ကိုတစ်ခုတည်း disable/revoke လုပ်မယ်ဆိုလျှင်, Server တစ်ခုစီ authorized_keys file ထဲမှ ကိုယ်တိုင်ဖျက်သင့်ပါတယ်။ ခေါ်ရင် access ပျက်မှာသော်လည်း, မဖျက်ထားတဲ့ server မှ ချေးနိုင်ပါတယ်။