จัดการกับ user accounts on Linux (ubuntu)instance
ในบทความนี้ได้มีโอกาสใช้ service EC2 (OS: linux ubuntu)ของ aws
ซึ่งในตอน create instance ทาง aws ได้ให้ไฟล์ <key-pair-name>.pem (Private key)
ขั้นตอนการ ssh default ของ EC2
1.chmod 400 <key-pair-name>.pem
2.cli ssh
ssh -i "<key-pair-name>.pem" ubuntu@ec2-xx-yyy-zzz-85.ap-southeast-1.compute.amazonaws.com
*สังเกตว่า default user จะเป็น ubuntu
ซึ่งเราอยากจะสร้าง custom user ใช้เอง ตามนี้เลย:
- ทำการ Enable Password Authentication ของ ssh:
vi /etc/ssh/sshd_config
PasswordAuthentication yessudo service ssh restart
2. ดึง public key จาก private key (<key-pair-name>.pem)
ssh-keygen -y -f /path_to_key_pair/<key-pair-name>.pem
output: public key
จะได้ในรูปแบบ:
3. สร้าง user (ใช้ user ubuntu / root สร้างนะ)
sudo adduser <newuser>
set password และ fill ข้อมูลของ user นั้น
4. เพิ่ม user เข้ากลุ่ม sudoer
adduser <username> sudovisudo => <user_name> ALL=(ALL) ALLsudo service ssh restart
5. switch ไปยัง root ที่ต้องการ
sudo su root
หลังจาก switch user แล้ว มาจัดการกับการ authorized ของ user นั้นๆ ดังนี้
mkdir .sshchmod 700 .sshtouch .ssh/authorized_keyschmod 600 .ssh/authorized_keys
6. นำค่า public key ที่ได้ generate จากขั้นตอนที่ 1 มาใช้ และทำการ save ให้เรียบร้อย
vi .ssh/authorized_keys
update linux user
sudo systemctl restart sshd
*ข้อระวังค่า public key ต้องเรียงต่อเรื่องในบรรทัดเดียว
เป็นอันเรียบร้อย…
6. ssh เข้าโดยใช้ user ที่สร้าง
ssh supanut@<ip>