Written by
in
ในการทำงานกับ Server Cluster ขนาดใหญ่ ซึ่งประกอบด้วย Ubuntu Server จำนวนมาก หากต้องแก้ไขระบบทั้งหมด โดยการ Secure Shell หรือ SSH เข้าไปทีละเครื่อง “โดยต้องเป็น root ด้วย” จะเป็นงานที่ใช้เวลาอย่างมาก เค้าจึงมีระบบที่เรียกว่า Password-less SSH โดยการแลกเปลี่ยน Public Key แทนที่จะต้อง Login ด้วย Username/Password
และเนื่องจาก Ubuntu โดย Default ไม่มีการสร้าง root password (มี root แต่ไม่มี password –> ก็เลย Login ไม่ได้ด้วย Password) ซึ่งก็ดีในเรื่องของ Security แต่ทำให้การทำงานยุ่งยากนิดหน่อย
บทความนี้จะกล่าวถึงวิธีการทำ Password-less SSH รวมไปถึง การที่ไม่ต้องถาม Known Host ในครั้งแรกที่เข้าใช้งานด้วย โดยระบบจะประกอบด้วย server01 เป็นเครื่องที่จะสั่งการเครื่อง server02 … serverNN ในสิทธิ์ root และในระบบนี้ ทุกเครื่องมี user ชื่อ mama ซึ่งมีสิทธิ์ sudo
ssh-keygen
จะได้ผลดังนี้ ซึ่งจะได้ไฟล์มา 2 file อยู่ใน directory: ~/.ssh – id_rsa – id_rsa.pub
Host * StrictHostKeyChecking no UserKnownHostsFile=/dev/null
scp .ssh/id_rsa.pub mama@server02:~
ในครั้งแรกนี้ ยังต้องใส่ Password ของ mama บนเครื่อง server02 อยู่ จากนั้น ไปดำเนินการต่อใน server02
ls -l /home/mama/id_rsa.pub
sudo su
แล้ว เข้าไปใน root home directory ด้วยคำสั่ง
cd
mkdir .ssh cat /home/mama/id_rsa.pub >> .ssh/authorized_keys
chmod 700 .ssh chmod 600 .ssh/authorized_keys
ssh root@server02
ก็จะไม่มีการถาม Password และ ไม่ถาม Known Host อีก
หลังจากนี้ สามารถ clone เครื่อง server02 ไปเป็นเครื่องต่างๆได้เลย
Your email address will not be published. Required fields are marked *
Comment *
Name *
Email *
Website
Save my name, email, and website in this browser for the next time I comment.
Δ
Leave a Reply