วิธีใช้คำสั่ง ssh-copy-id

How Use Ssh Copy Id Command



คำสั่ง ssh-copy-id เป็นเครื่องมือง่ายๆ ที่ให้คุณติดตั้งคีย์ SSH บนคีย์ที่ได้รับอนุญาตของเซิร์ฟเวอร์ระยะไกล คำสั่งนี้อำนวยความสะดวกในการเข้าสู่ระบบคีย์ SSH ซึ่งไม่จำเป็นต้องใช้รหัสผ่านสำหรับการเข้าสู่ระบบแต่ละครั้ง จึงมั่นใจได้ว่ากระบวนการเข้าสู่ระบบอัตโนมัติที่ไม่ต้องใช้รหัสผ่าน คำสั่ง ssh-copy-id เป็นส่วนหนึ่งของ OpenSSH ซึ่งเป็นเครื่องมือสำหรับดำเนินการดูแลระบบระยะไกลโดยใช้การเชื่อมต่อ SSH ที่เข้ารหัส

บทความนี้แสดงวิธีใช้เครื่องมือ ssh-copy-id เพื่อให้การเข้าสู่ระบบ SSH ของคุณราบรื่นและปลอดภัยยิ่งขึ้น







วิธีการติดตั้งคำสั่ง ssh-copy-id

เครื่องมือ ssh-copy-id ซึ่งเป็นส่วนหนึ่งของแพ็คเกจ OpenSSH มีอยู่ในที่เก็บการแจกจ่าย Linux ที่สำคัญทั้งหมด และคุณสามารถใช้ตัวจัดการแพ็คเกจเพื่อติดตั้งคำสั่งนี้



ในการติดตั้งเครื่องมือ ssh-copy-id บน Debian ให้ใช้คำสั่งต่อไปนี้:



sudo apt-get update && sudo apt-get installopensh-ไคลเอนต์

เมื่อคุณติดตั้ง OpenSSH แล้ว คุณสามารถใช้เครื่องมือ ssh-copy-id ในบรรทัดคำสั่งได้





$ ssh-copy-id

การใช้งาน:/usr/เป็น/ssh-copy-id[-ชม|-?|-NS|-NS] [-ผม[identity_file]] [-p พอร์ต] [[-หรือ<ssh -หรือตัวเลือก>]...] [ผู้ใช้@]ชื่อโฮสต์-f: โหมดบังคับ-คัดลอกคีย์โดยไม่ต้องพยายามตรวจสอบถ้าติดตั้งแล้ว -n: dry run-ไม่มีการคัดลอกคีย์จริง ๆ-ชม|-?: พิมพ์นี่ช่วย

การใช้ ssh-copy-id นั้นง่ายเพราะสคริปต์ทำให้กระบวนการตรวจสอบคีย์สาธารณะง่ายขึ้นและมีประสิทธิภาพมากขึ้น ก่อนที่เราจะเจาะลึกถึงวิธีการใช้เครื่องมือนี้ ก่อนอื่นเราจะพูดถึงวิธีการทำงานของการรับรองความถูกต้องของคีย์สาธารณะ SSH

บันทึก : หากคุณทราบแล้วว่าการพิสูจน์ตัวตนคีย์สาธารณะ SSH ทำงานอย่างไร โปรดข้ามส่วนนี้และเจาะลึกถึงวิธีใช้คำสั่ง ssh-copy-id ทันที



การตรวจสอบสิทธิ์คีย์สาธารณะ SSH

การตรวจสอบความถูกต้องของคีย์ SSH สาธารณะคือวิธีการตรวจสอบสิทธิ์ SSH ที่อนุญาตให้ผู้ใช้ใช้คีย์ที่สร้างด้วยการเข้ารหัสเพื่อเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกล

คีย์ SSH มีความปลอดภัยมากกว่ารหัสผ่านดิบและให้วิธีการเข้าสู่ระบบ SSH ที่มีประสิทธิภาพมากขึ้น คีย์ SSH เป็นแบบอัตโนมัติ และเมื่อได้รับอนุญาตแล้ว ไม่ต้องใช้รหัสผ่านในการเข้าสู่ระบบแต่ละครั้ง

ในการใช้คีย์ SSH เราจะเริ่มต้นด้วยการสร้างคีย์

วิธีสร้างคีย์ SSH

ในการสร้างคีย์ SSH ให้ใช้เครื่องมือ ssh-keygen ที่มาเป็นส่วนหนึ่งของ OpenSSH เครื่องมือนี้สร้างไฟล์คีย์สาธารณะและส่วนตัวที่เก็บอยู่ในไดเร็กทอรี ~/.ssh ดังที่แสดงด้านล่าง

$ssh-keygen

สร้างสาธารณะ/คู่คีย์ rsa ส่วนตัว
เข้าไฟล์ ใน ที่เพื่อบันทึกคีย์(/ราก/.ssh/id_rsa):
สร้างไดเร็กทอรี'/root/.ssh'.
ใส่ข้อความรหัสผ่าน(ว่างเปล่าสำหรับไม่มีข้อความรหัสผ่าน):
ป้อนข้อความรหัสผ่านเดิมอีกครั้ง:
ข้อมูลประจำตัวของคุณได้รับการบันทึกแล้วใน /ราก/.ssh/id_rsa
คีย์สาธารณะของคุณได้รับการบันทึกแล้วใน /ราก/.ssh/id_rsa.pub.
ลายนิ้วมือที่สำคัญคือ:
SHA256:ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ+gI24Dptsราก@ผู้ใช้คีย์ภาพ randomart ของคือ:
+---[RSA 2048]----+
| o=o |
| o o|
| . . +. +. |
| . + + o .o|
| เอส + . . |
|. o ..o o + .|
|.และ +. +. + + |
|o. = o.o+ .o.+..|
| .o .. oo =+ o = o.+ |
+----[SHA256] -----+

วิธีคัดลอกคีย์ SSH โดยใช้ SSH-copy-id

เมื่อเราสร้างคีย์ SSH แล้ว เราสามารถเพิ่มคีย์ SSH ด้วยตนเองไปยังไฟล์ Author_keys ของเครื่องระยะไกลหรือใช้คำสั่ง ssh-copy-id

เราจะใช้คำสั่ง ssh-copy-id เพื่อให้กระบวนการนี้ง่ายขึ้น เพียงเรียกคำสั่ง ssh-copy-id และส่งพาธไปยังกุญแจสาธารณะดังนี้:

$ssh-copy-id-ผม~/.ssh/id_rsa.pub ผู้ใช้@77.134.54.101-NS 6576

หลังจากป้อนคำสั่งข้างต้น คุณควรได้รับผลลัพธ์ต่อไปนี้:

/usr/เป็น/ssh-copy-id: INFO: แหล่งที่มาของคีย์(NS)ที่จะติดตั้ง:'/root/.ssh/id_rsa.pub'
/usr/เป็น/ssh-copy-id: INFO: กำลังพยายามเข้าสู่ระบบในด้วยคีย์ใหม่(NS), เพื่อกรองสิ่งที่ติดตั้งไว้แล้วออกไป
/usr/เป็น/ssh-copy-id: ข้อมูล:1กุญแจ(NS)ยังคงต้องติดตั้ง- ถ้าคุณได้รับแจ้งตอนนี้ก็เพื่อติดตั้งผู้ใช้คีย์ใหม่@รหัสผ่านของ 77.134.54.101:
จำนวนคีย์(NS)เพิ่ม:1ตอนนี้ลองลงชื่อเข้าใช้เครื่องด้วย:'ssh -p '6576' ' [ป้องกันอีเมล]'และตรวจสอบเพื่อทำรับรองว่ามีแต่กุญแจ(NS)คุณต้องการถูกเพิ่ม

บันทึก : อย่าคัดลอกคีย์ส่วนตัวของคุณไปยังเครื่องอื่น

เมื่อดำเนินการคำสั่งสำเร็จแล้ว ให้ลองเข้าสู่ระบบเซิร์ฟเวอร์โดยใช้คีย์ที่คุณอัปโหลด ดังนี้:

$ssh -NS 6576linkfy@77.134.54.101

คำสั่งดังกล่าวกำหนดให้คุณต้องป้อนข้อความรหัสผ่านสำหรับคีย์สาธารณะของคุณ ดังที่แสดงในผลลัพธ์ด้านล่าง:

ใส่ข้อความรหัสผ่านสำหรับกุญแจ'/root/.ssh/id_rsa':
เข้าสู่ระบบครั้งล่าสุด: ศ. มี.ค5 14: 06:16 2021จาก 173.2208.98.186

คำสั่งข้างต้นควรอนุญาตให้คุณเข้าสู่ระบบโฮสต์ระยะไกลโดยไม่ต้องถามรหัสผ่านของผู้ใช้ ระบบอาจแจ้งให้คุณป้อนข้อความรหัสผ่านของคีย์ที่คุณตั้งค่าไว้ก่อนหน้านี้

ตัวเลือกคำสั่ง SSH-copy-id

คุณสามารถแก้ไขวิธีการทำงานของคำสั่ง ssh-copy-id โดยใช้อาร์กิวเมนต์ที่ให้มา หากต้องการดูหน้าวิธีใช้ ให้ใช้คำสั่ง ssh-copy-id -h หรือใช้คำสั่ง ssh-copy-id โดยไม่มีอาร์กิวเมนต์

  1. -i อาร์กิวเมนต์ : อาร์กิวเมนต์นี้ระบุไฟล์ข้อมูลประจำตัวที่จะใช้ กล่าวคือ คัดลอกไปยังรีโมตโฮสต์ที่ระบุ หากคุณไม่สามารถระบุอาร์กิวเมนต์ -i ไฟล์ทั้งหมดในไดเร็กทอรี ~/.ssh ที่มีรูปแบบตรงกัน *.pub จะถูกเพิ่ม
  2. -f แฟล็ก : แฟล็กนี้เปิดใช้งานโหมดบังคับ ซึ่งไม่ได้ตรวจสอบว่าคีย์ได้รับการกำหนดค่าไว้ล่วงหน้าใน Author_keys บนเซิร์ฟเวอร์หรือไม่ แฟล็ก -f เพิ่มคีย์ ซึ่งมักจะส่งผลให้มีการติดตั้งคีย์เดียวกันหลายชุดบนเซิร์ฟเวอร์
  3. -p ธง : แฟล็กนี้ระบุพอร์ต SSH เพื่อเชื่อมต่อกับรีโมตโฮสต์ แฟล็กนี้ใช้เมื่อไม่มีการใช้พอร์ต SSH เริ่มต้น
  4. -n แฟล็ก : แฟล็กนี้ดำเนินการดรายรันที่พิมพ์คีย์สำหรับการติดตั้งโดยไม่ต้องติดตั้งบนรีโมตโฮสต์

บทสรุป

คู่มือนี้แสดงวิธีใช้คำสั่ง ssh-copy-id เพื่อติดตั้งคีย์ SSH บนโฮสต์ระยะไกล แม้ว่านี่อาจเป็นวิธีที่ง่ายและมีประสิทธิภาพในการติดตั้งคีย์ แต่คีย์ที่กำหนดค่าผิดอาจส่งผลให้เกิดปัญหาด้านความปลอดภัยหรือถูกล็อคไม่ให้ออกจากระบบ ดังนั้น โปรดใช้ความระมัดระวังอย่างยิ่งเมื่อคุณทำการทดลองกับกระบวนการนี้