เราจะระบุตัวตนเริ่มต้นของ ssh ได้อย่างไร


32

id_rsa โดยปกติแล้วจะเป็นคีย์เริ่มต้น

ฉันได้สร้างคีย์ใหม่ชื่อ 'keyhello'

อัปเดต: ฉันได้เพิ่มคีย์นี้ด้วยการทำ:

ssh-add /home/myuser/.ssh/keyhello

แต่ฉันเชื่อว่ามันยังคงไม่ใช่กุญแจเริ่มต้นของฉัน

ดังนั้นเราจะทำให้ keyhello เป็นเอกลักษณ์เริ่มต้นแทนที่จะเป็น id_rsa ได้อย่างไร

ฉันเห็น -t แต่ฉันได้ลอง:

ssh-agent /home/mysuser/.ssh/keyhello -t 

ไม่มีโชคกับสิ่งนี้ ฉันได้รับ "การอนุญาตถูกปฏิเสธ" (ถ้าฉันใส่ sudo ssh-agent ... ฉันได้รับ "การอนุญาตที่ถูกปฏิเสธ w / out แม้แต่แจ้งให้ฉันผ่าน sudo ของฉัน)

คำตอบ:


49

ในไฟล์ ~ / .ssh / config ของคุณ:

IdentityFile /home/myuser/.ssh/keyhello

ซึ่งจะบอกการเชื่อมต่อ ssh ขาออกเพื่อใช้สิ่งนั้นเป็นตัวตนเริ่มต้น


1
ไปเลย หากไฟล์ config ไม่มีอยู่ ฉันต้องสร้างมันขึ้นมา
MEM

5

คุณสามารถระบุ keyfile ทางเลือกบนบรรทัดคำสั่งด้วย-iตัวเลือกหรือคุณสามารถเปลี่ยนได้อย่างถาวรด้วยIdentityFileในไฟล์ config ลูกค้า ssh


2

/ usr / bin / ssh-copy-id จะใช้ไฟล์ที่สร้างขึ้นล่าสุดซึ่งตรงกับ id _ *. pub หากต้องการเปลี่ยนอันที่เป็นค่าเริ่มต้นเพียงแตะที่

me@my-machine:~/.ssh$ touch id_rsa id_rsa.pub

1

ในไฟล์ของฉัน/usr/bin/ssh-copy-idที่บรรทัด 59:

most_recent_id="$(cd "$HOME" ; ls -t .ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1)"

DEFAULT_PUB_ID_FILE="${most_recent_id:+$HOME/}$most_recent_id"

ไฟล์ล่าสุดจะเป็นค่าเริ่มต้นและคุณสามารถเปลี่ยนแปลงได้ โปรดทราบว่าไฟล์ของคุณจะต้องเริ่มต้นด้วย 'id'


-2

ถ้าคุณต้องการที่จะเปลี่ยนหนึ่งเริ่มต้นที่คุณส่งการเปลี่ยนแปลงid_*.pubเพื่อในแฟ้มkeyhello.pub /usr/bin/ssh-copy-idคุณจะพบว่าในบรรทัดที่ 60 หรือบางสิ่งบางอย่าง บรรทัดที่เริ่มต้นด้วยและคุณจะเห็นหลังจากนั้นDEFAULT_PUB_ID_FILE"$HOME/$(cd "$HOME" ; ls -t .ssh/id_*.pub"


อย่างจริงจัง? วิธีเดียวที่ผู้ใช้นี้สามารถทำการเปลี่ยนแปลงการกำหนดค่าที่มีผลต่อพวกเขา (และพวกเขาเท่านั้น) คือการแก้ไขไฟล์ระบบ (อาจส่งผลกระทบต่อผู้ใช้ทั้งหมดในระบบ)? คำตอบของคุณดีกว่าคำตอบ (6 (ปี) อื่น ๆ สำหรับคำถามนี้หรือไม่?
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.