Skip to main content

Command Palette

Search for a command to run...

แนะนำแนวทางการใช้ ssh-key แทนการใส่รหัสผ่านทุกครั้งที่เชื่อมต่อ ssh

Updated
2 min read

ที่มา

สำหรับคนที่จำเป็นต้องใช้ ssh สำหรับ remote ไปที่เครื่อง server แล้วไม่อยากที่จะต้องคอยใส่รหัสผ่านทุกครั้งไป สามารถใช้วิธีนี้ในการสร้างคีย์ แล้วเอา public key ไปไว้ที่เครื่อง Server ได้ง่ายๆ ดังนี้

1. ที่เครื่องเรา (ssh client) ให้สร้าง key โดยใช้คำสั่ง

ssh-keygen -t rsa

หลังจากนั้นจะมีขึ้นถามว่าจะให้เก็บ key ไว้ที่ไหน และจะใช้ passphrase เป็นคำว่าอะไร กดใส่ไปจนเสร็จ

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/myname/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

หลังจากสร้างคีย์เสร็จแล้วจะขึ้นข้อความประมาณนี้

Your identification has been saved in /Users/myname/.ssh/id_rsa
Your public key has been saved in /Users/myname/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:/MysHA256fInGeRprINt9AiUJZl36KBGXXH2RcTudl9 myname@mycom.local
The key's randomart image is:
+---[RSA 3072]----+
|     . HI .....  |
|       ^       ^ |
|      .......... |
|       ......... |
|        ........ |
|       .   .     |
|        .   .    |
|         .   .   |
|          .   .  |
+----[SHA256]-----+

2. หลังจากได้คีย์มาแล้ว ขั้นต่อไปเป็นการนำ public key ไปใส่ที่เครื่อง Server ปลายทาง โดยใชคำสั่งดังนี้

ssh-copy-id myname@mydestinationservername.com

โดยจะมีหน้าจอขึ้นเพื่อให้ถามรหัสผ่านสำหรับใช้ในการ Remote เข้าเครื่อง Server ก็ให้ใส่ไป โดยจะมีหน้าจอขึ้นมาประมาณนี้

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/myname/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
myname@mydestinationservername.com's password: 

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'myname@mydestinationservername.com'"
and check to make sure that only the key(s) you wanted were added.

แต่ถ้าไม่สำเร็จ ให้ใช้วิธีนำไฟล์ public key ไปวางที่ ~/.ssh/authorized_keys (แต่ถ้าสำเร็จก็ไม่ต้องทำขั้นตอนนี้)

3. ทดสอบ Remote ดู จะต้องไม่ขึ้นถามรหัสผ่าน

ssh myname@mydestinationservername.com

เช่น ขึ้น prompt ประมาณนี้ ก็สามารถใช้งานต่อได้เลย

[myname@mydestinationservername.com ~]$

หวังว่าบทความนี้จะเป็นประโยชน์กับคนที่เจอปัญหาอย่างเดียวกันนะครับ

More from this blog

ทำไมทำ Index ไว้แล้วไม่ช่วยให้เร็วขึ้น

เคยสงสัยไหม ทำไม Table ที่มี Index เยอะมากๆ เสียพื้นที่เก็บ Index เพิ่มขึ้นเยอะแยะมากมายแล้ว แต่ก็ยังช้าอยู่ ตรวจสอบ Execution Plan แล้วก็ไม่เห็นเอา Index ที่สร้างไว้มาใช้งาน สาเหตุหลักเลยคือ SQL Server มองว่าเอามาใช้แล้วไม่ได้ช่วยให้เร็วขึ้น หรือมี ...

Sep 8, 20243 min read

SQL Server Isolation Level - Lock ให้ตรงใจไม่ให้โดนด่า

วันนี้เรามาดูปัญหาเกี่ยวกับ รอ จากการ Lock ของ SQL Server ว่าเราสามารถตรวจสอบว่าโปรแกรมที่ช้าเกิดจากประมวลผลช้า หรือ รออะไรอยู่ทำไมถึงนานแสนนานกว่าจะทำอะไรได้แต่ละที จะรู้ได้อย่างไรว่าโดน Lock อยู่ ? วิธีแรกแบบ GUI สามารถดูจาก Activity Monitor ว่ามี ...

Sep 8, 20241 min read
K

Kosol

6 posts