Search Suggest

Remote ssh โดยกุญแจเข้ารหัส ไม่ต้องถาม password

การทำสคริป copy file ผ่าน ssh โดยกุญแจเข้ารหัส (ไม่ต้องถาม password)


วัตถุประสงค์
            ต้องการทำสคริปเพื่อก็อปปี้ไฟล์จากเครื่อง Server ไปเก็บไว้ยัง Backup Server ถ้าเราทำแบบแมนนวล เวลารันคำสคิป ก็ต้องคีย์ password ssh แต่ถ้าไม่อยากคีย์ก็ทำเป็น Text file ไว้แล้วให้สคิปไปเช็ค password กับ Text file นั้น
            การทำแบบนี้มีโอกาสโดนขโมยอ่าน password ได้ ดังนั้น จึงใช้วิธีการ Encryption password ไว้ ในรูปแบบกุญแจ 2 ลูก ลูกนึงวางไว้ที่เครื่อง Server ต้นทาง และอีกลูกนึงวางไว้ที่ Backup Server

วิธีการ
1. Key Encryption การทำกุญแจเข้ารหัสพาสเวิร์ด มีขั้นตอนดังนี้

เครื่อง Server

ใช้รูปแบบคำสั่ง ด้านล่าง
#ssh-keygen -t rsa -b 4096  ค่าปกติ 2048 bit

จะมี 2 ไฟล์  Generate ขึ้นมา ที่ /root/.ssh/ ดูภาพด้านล่าง



id_rsa
id_rsa.pub

เสร็จแล้วให้ก็อปปี้ไฟล์ id_rsa.pub ไปยังเครื่อง Backup Server ด้วยคำสั่ง
scp id_rsa.pub user@192.168.x.x:/path/backup

เครื่อง Backup Server

เข้าไปยัง path ที่เก็บไฟล์ id_rsa.pub แล้ว convert ไฟล์ไปยัง authorized_keys ที่ /root/.ssh/ ด้วยคำสั่ง
ต่อไปนี้

cp authorized_keys authorized_keys.bak ก็อปปี้ไฟล์กุญแจไว้ก่อน

cat id_rsa.pub >> /root/.ssh/authorized_keys

cat authorized_keys เพื่อดูคีย์ที่เราเพิ่มเข้าไป มีการเข้ารหัสไว้

ทดสอบใช้งาน

กลับไปที่เครื่อง Server แล้วลองก็อปปี้ไฟล์ ไปเก็บไว้ยัง Backup Server ด้วยคำสั่งเดิมอีกคร้้ง

scp test.txt user@192.168.x.x:/path/backup

จะเห็นว่าไม่มีการถาม password เหมือนตอนแรก

2. ทำสคริปเพื่อให้ก็อปปี้ไฟล์จากเครื่อง Server ไปยังเครื่อง Backup Server ดังนี้

crontab -e
ใส่สคริปให้ทำงาน เวลา 20:00 น. ของทุกวัน

0 20 * * *      scp -r /etc/postfix user@192.168.xx.xx:/pathe/backup

เรื่องที่เกี่ยวข้อง
1. คำสั่ง scp
2. Key Encryption




Đăng nhận xét