หากคีย์ไม่ได้ชื่อ id_rsa มันจะไม่ทำงาน


14

ฉันสร้างคีย์เพื่อเชื่อมต่อใน SSH ด้วยวลีรหัสผ่าน ฉันได้ตั้งชื่อกุญแจของฉันid_rsa_adminแล้ว เมื่อฉันเข้าสู่ระบบข้อความต่อไปนี้จะปรากฏขึ้นPermission denied (publickey).

ในบันทึกฉันพบว่า ssh ค้นหาไฟล์id_rsaดังนั้นจึงไม่พบไฟล์ที่ถูกต้อง

ฉันพบว่าหากไม่มีการตั้งชื่อคีย์id_rsaมันจะไม่ทำงาน

วิธีการเชื่อมต่อใน ssh?

~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215

คำตอบ:


39

คำตอบของ Arronicalนั้นดีสำหรับการเชื่อมต่อแบบครั้งเดียว แต่จะเจ็บปวดในระยะยาว เพื่อให้sshใช้คีย์นี้ตลอดเวลาเมื่อเชื่อมต่อกับเซิร์ฟเวอร์นี้คุณสามารถเพิ่มรหัสนี้ใน~/.ssh/config(หรือสร้างหากไม่มีอยู่):

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215จากนั้นคุณสามารถเชื่อมต่อกับเพียง ในฐานะโบนัสที่เพิ่มเข้ามาคุณสามารถกำหนดค่าพอร์ต:

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin
    Port 9215

ssh admin@vps718449.ovh.netจากนั้นคุณสามารถเชื่อมต่อกับเพียง ยิ่งไปกว่านั้น:

Host vps718449.ovh.net vps
     Hostname vps718449.ovh.net
     User admin
     IdentityFile ~/.ssh/id_rsa_admin
     Port 9215

จากนั้นก็ssh vpsจะทำงาน! แน่นอนvpsเป็นเพียงตัวอย่างคุณสามารถใช้นามแฝงอื่น ๆ ที่คุณต้องการ (ตัวอย่างเช่นถ้าคุณมี VPS มากกว่าหนึ่ง) ดูman ssh_configรายการตัวเลือกที่คุณสามารถตั้งค่าได้


@fkraiem ขอบคุณ ทำอย่างไรกับสามปุ่ม?
Mathieu

1
@Mathieu ทำไมต้องมีสามปุ่ม? หากเป็นโฮสต์ที่แตกต่างกันสามรายการให้เพิ่มหนึ่งรายการสำหรับแต่ละโฮสต์โดยใช้คีย์ที่เหมาะสม
fkraiem

@fkraiem ฉันมี 3 ปุ่มที่แตกต่างกันบนเซิร์ฟเวอร์เดียวกัน แต่สำหรับผู้ใช้ 3 คน
Mathieu

@Mathieu ฉันไม่สามารถยืนยันได้ในขณะนี้ แต่ฉันคิดว่าแค่เพิ่มสามIdentityFileบรรทัดในHostส่วนควรทำงาน นอกจากนี้ถ้าคุณวางUserสายผู้ใช้ที่จะกลายเป็นค่าเริ่มต้นเมื่อเชื่อมต่อกับโฮสต์ที่ @แต่คุณยังสามารถแทนที่ได้ด้วย
fkraiem

@fkraiem ขอบคุณมาก มันใช้งานได้ แต่ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น "ตัวแทนยอมรับความล้มเหลวในการเซ็นชื่อโดยใช้คีย์" ฉันใช้ "SSH_AUTH_SOCK = 0" เพื่อเชื่อมต่อ แต่ต้องทำทุกครั้งที่รีสตาร์ท มีคำทักทายอื่น ๆ อีกไหม?
Mathieu

16

คุณต้องใช้-iตัวเลือกคำสั่ง ssh ของคุณโดยใช้พา ธ ไปยังคีย์ของคุณ คำสั่งที่แก้ไขจะเป็น:

ssh -i ~/.ssh/id_rsa_admin admin@vps718449.ovh.net -p 9215

ขอขอบคุณ. ด้วยการตอบกลับของคุณข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น "ssh: ไม่สามารถแก้ไขชื่อโฮสต์ i: ไม่ทราบชื่อหรือบริการ"
Mathieu

5
การวาง-iก่อนชื่อโฮสต์จะทำงานเช่นกัน ฉันคิดว่า @Mathieu แค่ลืมเครื่องหมายยัติภังค์ : p
fkraiem
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.