ในการใช้ ssh-id-copy คุณต้องการทั้ง id_rsa.pub และ id_rsa หรือไม่


19

ฉันกำลังพยายามตั้งค่าคีย์การเข้าถึง ssh ที่สองสำหรับเพื่อน เขาส่ง id_rsa.pub ของเขามาให้ฉัน

ssh-copy-id -i id_rsa.pub root@123.123.123.123
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory

ฉันต้องการให้เขาส่งไฟล์ทั้งสองให้ฉันหรือไม่


1
. ผับนั้นเพียงพอแล้ว และโปรดจำไว้ว่าคุณเก็บคีย์ส่วนตัวของคุณไว้เสมอ (ตลอดเวลา!) ในการเพิ่มคีย์ใหม่คุณสามารถต่อท้ายเนื้อหาของ. pub เข้ากับที่ได้รับอนุญาตของคุณ
deagh

2
@deagh คุณไม่จำเป็นต้องเก็บรหัสส่วนตัวเป็นความลับคุณจำเป็นต้องรักษาความปลอดภัย

สคริปต์ ssh-copy-id ที่นี่ดูเหมือนจะไม่แสดงข้อความข้อผิดพลาดนั้น ฉันสังเกตเห็นสคริปต์ ssh-copy-id ของคุณอยู่ใน / usr / local / bin มันอาจแตกต่างจากคำสั่งเวอร์ชันที่ใช้บ่อย
Kenster

คำตอบ:


12

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

ในเวอร์ชันล่าสุดคุณสามารถลบล้างพฤติกรรมนี้ได้ด้วย-fสวิตช์ ("โหมดบังคับ")

จากหน้าคน :

-f

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


1
หัวขึ้นลำดับของพารามิเตอร์ที่เข้มงวด -fเพียงทำงานคาดว่าเป็นถ้าคุณผ่านมันก่อน-iโต้แย้ง ssh-copy-id -i mykey.pub -f otheruser@hostแค่บ่นจนกว่าคุณจะย้าย -f ที่ด้านหน้า
init_js

5

.pubก็เพียงพอแล้ว คุณไม่ได้อยู่ในโฟลเดอร์ที่ถูกต้อง

คุณสามารถลองสิ่งนี้:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@123.123.123.123

(สำหรับผู้ใช้รูท: ไม่แนะนำเป็นเพียงตัวอย่าง)

ไฟล์นี้อยู่ภายใต้.sshโฟลเดอร์ในโฟลเดอร์ผู้ใช้


4
สำหรับ mac มันต้องการ-fถ้าคุณไม่มีคีย์ส่วนตัวด้วยฉันคิดว่า
Stevie G


1

ในฐานะที่เป็นที่กล่าวถึงนี่นี้เป็นข้อผิดพลาด

อย่างไรก็ตามคุณสามารถสร้างไฟล์เปล่า ๆ เพื่อให้มันทำงานได้ ในกรณีของคุณ:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub root@123.123.123.123

ฉันมีปัญหาเดียวกันและสิ่งนี้ใช้ได้สำหรับฉัน👍


-1

มันทำงานได้สำหรับฉันคำถามคือเมื่อถามว่า "ใส่ไฟล์ที่จะบันทึกคีย์ (/Users/xiaoyu/.ssh/id_rsa):" คุณควรพิมพ์ id_rsa

และใช้ commande "ssh-copy-id -i ~ / .ssh / id_rsa.pub polytech@192.168.0.102"

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