จะระบุรหัสใน SSHFS ได้อย่างไร?


69

ฉันมีคำถามที่ฉันไม่สามารถหาคำตอบได้ ฉันมีคอมพิวเตอร์สองเครื่องซึ่งทั้งสองนี้ใช้ Ubuntu Linux 12.04 ฉันได้ตั้งค่าคอมพิวเตอร์เครื่องแรกของฉัน ("บ้าน") เพื่อให้สามารถใช้ SSH ในคอมพิวเตอร์เครื่องที่สองของฉัน ("ระยะไกล") โดยใช้การรับรองความถูกต้องของคีย์ RSA สาธารณะ / ส่วนตัว

นี่ไม่ใช่การเชื่อมต่อ SSH ครั้งแรกที่ตั้งค่าโดยใช้การรับรองความถูกต้องของคีย์บนคอมพิวเตอร์ที่บ้านของฉันดังนั้นคอมพิวเตอร์ที่บ้านของฉันจึงมีคีย์ส่วนตัวส่วนตัวของ id_rsa (แต่ละอันมีไว้สำหรับคอมพิวเตอร์ที่แตกต่างกัน ดังนั้นฉันสามารถที่จะประสบความสำเร็จใน SSH เฉพาะเมื่อผมระบุ keyfile (ในsshที่-iตัวเลือก) ssh username@ipaddress -i path/to/keyfile/id_rsa.2โดยใช้

มันใช้งานได้ดีมาก อย่างไรก็ตามฉันต้องการที่จะใช้sshfsซึ่งติดตั้งระบบไฟล์ระยะไกล แม้ว่าsshจะเล่นได้ดีกับหลาย ๆ คีย์ แต่ฉันไม่สามารถหาวิธีsshfsใช้คีย์ส่วนตัวที่ถูกต้องได้ ("id_rsa.2")

มีวิธีsshfsทำเช่นนี้หรือไม่?


พวงกุญแจทำงานได้ดีสำหรับผมในสถานการณ์นี้ ...
jasonwryan

คำตอบ:


94

นี่คือสิ่งที่ใช้ได้กับฉัน:

sshfs me@x.x.x.x:/remote/path /local/path/ -o IdentityFile=/path/to/key

คุณสามารถเข้าใจสิ่งนี้ผ่านman sshfs:

-o SSHOPT = ตัวเลือก VAL ssh (ดู man ssh_config)

man ssh_config

IdentityFile

ระบุไฟล์ที่มีการอ่านข้อมูลเฉพาะตัวของการตรวจสอบ DSA ECDSA หรือ DSA ของผู้ใช้


1
ขอขอบคุณ! @ goldilocks ฉันพลาดบรรทัด IdentityFile ในsshfsหน้า man นั่นคือสิ่งที่ฉันกำลังมองหาเช่นกัน ฉันเพิ่งลองวิธีแก้ปัญหาของคุณและมันก็ทำงานได้อย่างสมบูรณ์ ฉันขอขอบคุณความช่วยเหลือ!
JL

1
คำสั่งนี้ใช้ไม่ได้กับ macOS Sierra
basZero

1
IdentityFileบันทึกเส้นทาง หากรันsshfsด้วยการsudoใช้~ในIdentityFileพา ธ อ้างอิงถึงโฮมของรูทซึ่งอาจไม่ใช่ตำแหน่งของไฟล์ RSA ใช้สิ่งที่ชอบ/Users/<username>/.sshแทน
แอรอน

19

สิ่งที่คุณต้องทำคือระบุคีย์ส่วนตัวที่จะใช้ใน~/.ssh/configไฟล์ ตัวอย่างเช่น:

Host server1.nixcraft.com
    IdentityFile ~/backups/.ssh/id_dsa
Host server2.nixcraft.com
    IdentityFile /backup/home/userName/.ssh/id_rsa

ขอบคุณมาก! @Steven คุณฉันไม่ได้ตระหนักว่าsshfsอ่านไฟล์. ssh / config (แม้ว่าฉันจะเห็นว่าตอนนี้ฉันพลาดคำตอบที่คล้ายกันจากโพสต์ก่อนหน้าของใครบางคนที่stackoverflow.com/a/13638806/1940466 ) เป็นเรื่องที่น่ารู้ สำหรับสิ่งที่คุ้มค่าฉันต้องการยอมรับทั้งคำตอบและ @goldilocks ของคุณ แต่ฉันไม่สามารถทำได้ ฉันยังมีชื่อเสียงไม่พอที่จะโหวตคำตอบของคุณ ฉันซาบซึ้งมากกับคำตอบ!
JL

3
sshfs -o ssh_command='ssh -i path/to/keyfile/id_rsa.2' username@ipaddress:/path /local/path

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