Wednesday, February 3, 2010

ssh to FreeBSD within local network

ကျနော့် FreeBSD စက်ထဲကို local network အတွင်းမှာရှိတဲ့ အခြားစက်ကနေ ဥပမာ ubuntu ကနေ ssh နဲ့ login ဝင်တာလေးပါ။ certificate authentication နည်းနဲ့ ဝင်တာပါ။ ဒီနေရာမှာ FreeBSD က Server သဘောမျိုးသက်ရောက်ပြီး Client Ubuntu စက်ကနေ ဝင်မှာပါ။ FreeBSD က Server သဘောမျိုးဆိုတာ့ ssh daemon run နေဖို့လိုအပ်ပါတယ်။ အဲဒီအတွက် ကျနော်တို့ /etc/rc.conf ဖိုင်မှာ enable လုပ်ပေးပြီး daemon ကို run ရအောင် ..

Enable sshd
# echo 'sshd_enable="YES"' >> /etc/rc.conf
# /etc/rc.d/sshd start

ပြီးရင် rsa keys မထုတ်ရသေးရင် generate လုပ်ပေးရအောင် အောက်က command ကို run ပါမယ်။ ကျနော်တို့ normal user အနေနဲ့ ထုတ်မှာဖြစ်လို့ root user ကနေ exit လုပ်ပေးပါ။

$ ssh-keygen -t rsa

အဲဒါဆိုရင် ကျနော်တို့ .ssh/id_rsa နဲ့ .ssh/id_rsa.pub ဖိုင်တွေကို ကိုယ့်ရဲ့ home directory ထဲမှာတွေ့မှာပါ။ ပြီးရင် ကျနော်တို့ certificate authentication နည်းသုံးမှာဖြစ်တဲ့အတွက် id_rsa.pub ဖိုင်ကို authentication keys အနေနဲ့ ပြောင်းရအောင် အောက်က command ကို run ပေးပါမယ်။

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ပြီးရင် ကျန်တဲ့ ~/.ssh/id_rsa ဆိုတဲ့ private key ကို ကိုယ့် usb disk ထဲပဲဖြစ်ဖြစ် internet ပေါ် လုံခြုံတဲ့ ကိုယ်ပဲ access လုို့ရနိုင်မယ့်နေရာထဲ ကူးထည့် ဒါမှမဟုတ် upload လုပ်ပြီး အခြား Client အနေနဲ့သုံးမယ့် စက်ထဲကို copy ကူးထည့်ပေးပါ။ ဥပမာ ကျနော်က အဲဒီ private key ကို ကျနော့် ubuntu စက်ထဲကို ကူးထည့်ပေးလိုက်မယ်။ ဘယ်နေရာမှာကူးထည့်ပေးရမလဲဆိုတော့ ~/.ssh directory အောက်ကိုပါ။ အဲလိုကူးထည့်ပြီးဆိုရင်တော့ ~/.ssh/id_rsa အနေနဲ့တွေ့မှာပါ။ အဲဒါတွေလုပ်ပေးပြီးရင်တော့ ကျေနော်တို့ FreeBSD Server ထဲကို Client Ubuntu ကနေ ဝင်နိုင်ပါပြီး။ အောက်ကနမူနာ command လေးနဲ့ ဝင်လို့ရပါတယ်။

$ ssh user@freebsd

အောက်ကနမူနာ Screenshots လေးတွေကို ကြည့်ပါ။

copy key to client and use ssh

accept keys and being asked for private key password

after giving password, passed through to FreeBSD

now I can go anywhere

freebsd-update fetch

ဘယ်လောက်လွယ်ကူသလဲ!

References:
OpenSSH

Enjoy!

No comments:

Post a Comment