มา initial setup ubuntu 20.04 กัน

Nattawat Songsom
2 min readOct 18, 2021

--

พอดีว่ากำลัง setup node สำหรับ ansible พอดี เลยถือโอกาสเขียน blog การ initial setup ubuntu กันเลย

1.สร้าง user

โอเค มาเริ่มจากการสร้าง user กันก่อน โดยใช้คำสั่ง

adduser <username>

ต่อมาเราจะเพิ่ม user ที่เพิ่งสร้างไปยัง sudo group โดยใช้คำสั่ง

usermod -aG sudo <username>

2. config firewall

เราจะใช้ ufw ในการ config firewall

เริ่มจาก เราจะ enable ให้สามารถ ssh เข้ามายัง server ได้ โดยใช้คำสั่ง

ufw allow OpenSSH

ต่อมา เราจะเปิดใช้ ufw เป็น firewall ด้วยคำสั่ง

ufw enable

โดยเราสามารถเช็คสถานะของ firewall ด้วยคำสั่ง

ufw status

จะเห็นว่าตอนนี้ firewall active และให้ ssh ผ่านเข้ามายัง server ได้

3. config ให้ root account ใช้ SSH Key Authentication

เนื่องจากตอนนี้ root account ของเรายังใช้ password authentication อยู่ เราจะมาเปลี่ยนให้ใช้ ssh key กัน

เริ่มจากการสร้าง key pair โดยใช้คำสั่ง

ssh-keygen

note ถ้าเราเคยสร้าง key pair แล้ว โปรแกรมจะให้ overwrite ทับ key เก่า ดังนั้นถ้าใครเคยสร้างแล้ว ใช้ key เก่าก็ได้ไม่ต้องสร้างใหม่

โดยเราจะได้ public key มาในไฟล์นามสกุล .pub

ให้เรา copy string public key มา

จากนั้นไปยัง remote server ให้เราสร้าง folder ~/.ssh ด้วยคำสั่ง

mkdir -p ~/.ssh

จากนั้นเราจะใส่ public key ในเครื่อง remote ด้วยคำสั่ง

echo <public_key> >> ~/.ssh/authorized_keys

note public key string จะขึ้นต้นด้วย ssh-rsa

โอเค มาต่อกัน เราจะลบสิทธิ์ในการเข้าถึงโฟลเดอร์ .ssh แบบ group และ other ออก ด้วยคำสั่ง

chmod -R go= ~/.ssh

4. disable การเข้าถึง root account ด้วย password

ก่อนจะทำขั้นนี้ให้ check ก่อนว่าเราสามารถเข้า remote server ด้วย user root แบบไม่ต้องใส่ password ได้ โดยจากการที่ผมลองใน windows ถ้าเราใช้ ssh จาก cmd จะไม่ต้องใส่ password แล้ว แต่ถ้าเข้าผ่าน putty ยังต้องใส่ password อยู่ … โอเค ไปต่อกัน

ให้เราเปิดไฟล์ config ของ ssh ด้วยคำสั่ง

sudo nano /etc/ssh/sshd_config

จากนั้นให้แก้บรรทัด PasswordAuthentication เป็น

PasswordAuthentication no

จากนั้นให้ save และ restart service ssh ด้วยคำสั่ง

sudo systemctl restart ssh

5. config ให้สามารถเข้า non-root account ด้วย ssh key

โอเค ตอนนี้เราสามารถเข้า root account ด้วย public key ที่วางในโฟลเดอร์ .ssh ของ root account ได้แล้ว … เราจะใช้ key เดิมในการเข้าถึง non-root account ที่เราสร้างด้วย โดยจาก terminal ของ root account เราจะใช้คำสั่ง

rsync --archive --chown=<username>:<username> ~/.ssh /home/<username>

โอเค ไฟล์ในโฟลเดอร์ .ssh จะถูกย้ายไปยัง account นั้น พร้อมเปลี่ยนสิทธ์การเข้าถึงให้เป็นของ account นั้นแล้วนั่นเอง

โดยตอนนี้เราสามารถ ssh เข้า user non-root โดยไม่ต้องใส่ password ได้แล้ว

--

--

No responses yet