เลิกใช้การ login ระบบเซิร์ฟเวอร์ SSH ด้วย password แล้วมาใช้ private key/public key

หากคุณจำเป็นต้องสร้างการเชื่อมต่อ SSH กับเซิร์ฟเวอร์บ่อยครั้ง การป้อน password ในแต่ละครั้งอาจเป็นเรื่องยุ่งยากหรือแม้แต่การไม่เริ่มต้น ตัวอย่างเช่น ในกรณีของเรา เราใช้การเชื่อมต่อ ssh ใน build script ทุกคืน ดังนั้นการป้อน password จึงไม่ใช่ตัวเลือก…

ดังนั้นในการกำหนดค่าเซิร์ฟเวอร์และลูกค้าของคุณให้ยอมรับการเชื่อมต่อ ssh ที่ปลอดภัยโดยไม่ต้องป้อน password สิ่งที่ต้องทำคือสร้าง key pair แทน คือการใช้งาน public key และ private key และคัดลอกส่วน publicไปยังตำแหน่งที่เหมาะสมบนเซิร์ฟเวอร์

สำหรับการทำเช่นนี้ บนโฮมไดเร็กทอรีของผู้ใช้, บนเครื่องลูกค้า ให้พิมพ์:


-t บอกประเภทของการเข้ารหัส
-f บอกตำแหน่งที่จะจัดเก็บ key pair public/private ในกรณีนี้ กำลังใช้ไดเร็กทอรี .ssh ในโฮมไดเร็กทอรี

password จะถูกถาม ออกจากนี้ว่างส่วนหนึ่งเพียงกด <Enter>
ตอนนี้ไปที่ไดเรกทอรี .ssh และคุณจะพบสองไฟล์ใหม่: id_rsa และid_rsa.pub สุดท้ายคือส่วน public ตอนนี้คัดลอก public key ไปยังเครื่องเซิร์ฟเวอร์:


แน่นอน คราวนี้คุณจะต้องป้อน password ตอนนี้ ลงชื่อเข้าใช้เครื่องเซิร์ฟเวอร์และไปที่ไดเร็กทอรี .ssh ทางฝั่งเซิร์ฟเวอร์:


จากนั้นเพิ่ม public key ของลูกค้า ไปยัง public key ที่รู้จักบนเซิร์ฟเวอร์:


และนั่นคือทั้งหมด ครั้งต่อไปที่คุณลงชื่อเข้าใช้เซิร์ฟเวอร์ระยะไกล จะไม่มีการถามpassword หากไม่ได้ผล คุณสามารถลองใช้ authorized_keys แทน authorized_keys2 ได้ เนื่องจากอาจขึ้นอยู่กับเวอร์ชันของ Linux ที่ใช้โปรดทราบว่าระบบนี้จะทำงานได้ในขณะที่ไม่มีเครื่องใดเปลี่ยนที่อยู่ IP และสำหรับผู้ใช้เฉพาะ ดังนั้นจึงยังปลอดภัย

แปลจากบทความภาษาอังกฤษ : No password SSH – Login to a SSH server with private/public keys

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา