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: