Centos

ssh Key-Pair Authentication

โดยปกติ การ login เข้าสู่ server linux เราจะใช้ username และ password คราวนี้เราจะมาใช้อีกวิธี ที่ช่วยเรื่องความปลอดภัยขึ้นอีกนิด นั่นคือเราจะทำการทำให้ ssh server ของเรา รองรับการใช้ Key-Pair แทน username และ password โดยหลักการคือเราต้องสร้าง private key ให้ client และ public key ให้ server

สำหรับ windows Client
เราจะใช้ โปรแกรม Putty key Generator สำหรับการสร้างคีย์ โดยปกติโปรแกรมนี้จะถูกติดตั้งไปพร้อมกับ โปรแกรม Putty ก็จะอยู่ใน Folder เดียวกัน C:\Program Files\PuTTY

putty key gen
1. กด Generate เสร็จแล้วก็ ขยับเมาส์บนพื้นที่ว่างๆ จนกว่าจะ ทำงานเสร็จ
keygen
2. กด save public key และ save private key
3. log in เข้า server และสร้าง ไดเร็กทอรี่ .ssh

mkdir -p ~/.ssh
เช็คไดเร็คทอรี่ว่ามีหรือไม่
ls -a หรือ ls -al

4. จากนั้น ทำการสร้างไฟล์ authorizes_keyใน folder .ssh

#chmod 700 .ssh
#vi .ssh/authorized_keys 
เสร็จแล้วให้ copy public key ที่ได้ putty key generator แล้ว save
#chmod 600 .ssh/authorized_keys

5. แก้ไขไฟล์ vi /etc/ssh/sshd_config ให้แก้ตามหัวข้อต่อไปนี้
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
เช็คดูด้วยว่า มีบรรทัดมีไฟล์ชื่อ”authorized_keys” ในบรรทัดของ
AuthorizedKeyFile .ssh/authorized_keys ด้วยหรือไม่
สั่ง save แล้วสั่ง restart service

#sudo systemctl restart sshd.service

6. เปิดโปรแกรม putty แล้วแก้ไขข้อมูลให้ใช้การ log in ผ่าน Key
หัวข้อ data ให้ใส่ username ในที่นี้คือ root
putty input key
หัวข้อ SSH/Auth ให้เลือกไฟล์ private key ที่ได้ทำการ save ไว้
putty insert key

เท่านี้ก็จะสามารถ log in โดยที่ไม่ต้องใช้ password ได้เป็นที่เรียบร้อย

วิธีเปลี่ยน SSH Port บน Centos 8

วันนี้เราจะมาทำการ เปลี่ยน port ของเจ้าตัว ssh server กัน โดยปกติแล้ว ssh server จะใช้ port 22 เป็นค่า default เพื่อความปลอดภัยของระบบ ดังนั้นขั้นต้นเราควรจะ เปลี่ยน port ของ ssh กันก่อน อย่างน้อยก็ช่วยไม่ให้โดน สุ่ม username และ password ได้ทันที

1. log in เข้า server แล้วแก้ไขไฟล์ sshd_config
vi /etc/ssh/sshd_config
ค้นหาคำว่า #Port 22 แล้วแก้ไขเป็น port ที่เราต้องการ ควรใช้port 1024-65535
2. คำสั่งสำหรับ จัดการ firewall ให้รู้ port ใหม่ที่เราได้เปลี่ยนไป
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=2222/tcp
3.คำสั่งสุดท้ายคือการสั่งให้ restart service sshและ reload firewall
sudo systemctl restart sshd
sudo firewall-cmd --reload
เท่านี้ก็เรียบร้อย

หมายเหตุ
คำสั่ง สำหรับเช็ค port ว่าตอนนี้มีโปรแกรมอะไรใช้อยู่

semanage port -l |grep 2222

การติดตั้ง Python 3.7 บน centos 7

เริ่มต้นด้วยการทดสอบว่าตอนนี้ Centos ของเราติดตั้ง Python เวอร์ชั่นไหนไว้ด้วยคำสั่ง

#python –version

เริ่มกระบวนการติดตั้ง
Step 1 – Requirements

สำหรับการติดตั้งองค์ประกอบของ Python 
#yum install gcc openssl-devel bzip2-devel libffi libffi-devel

Step 2 – ดาว์นโหลด python เวอร์ชั่น 3.7
จากเว็พไซต์ python official ด้วยคำสั่ง wget

#cd /root
#wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

กรณีที่ ไม่มีคำสั่ง wget ติดตั้งไว้ให้ทำการติดตั้งด้วยคำสั่ง #yum install wget

หลังจากนั้นทำการแตกไฟล์ด้วยคำสั่ง
#tar xzf Python-3.7.3.tgz

Step 3 – ติดตั้ง Python 3.7

#cd Python-3.7.0
ทำการ จัดเตรียม package และสั่ง Compile the Package
#./configure –enable-optimizations
#make altinstall
หลังจากติดตั้งเสร็จเราจะสั่งลบไฟล์ที่เราดาว์นโหลดมาก็ได้เพราะไม่ได้ใช้แล้ว
#rm -f /root/Python-3.7.0.tgz

ติดตั้งเรียบร้อย

Step 4 – ตรวจสอบ Python Version

ตรงนี้จะสับสนกันนิดนึ่งคือตัวระบบเองจะสามารถติดตั้ง โปรแกรม Python ได้หลายเวอร์ชั่นในเครื่องเดียว คำสั่งหลักในการเช็คเวอร์ชั่นแต่ละเวอร์ชั่นนั้นไม่เหมือนกันนะครับสำหรับเช็ค Python 3 เนี่ยต้องใช้คำสั่ง python3.x -V
#python3.7 -V

เท่านี้ก็เป็นการเสร็จเรียบร้อย