Local: Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V: OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V: SSHFS version 2.4
FUSE library version: 2.9.0
fusermount version: 2.9.0
using FUSE kernel interface version 7.18
Remote: Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 (kernel@kernel.ovh.net) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V: OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
ฉันกำลังพยายามตั้งค่าการเมานต์แบบไร้รหัสผ่านของเซิร์ฟเวอร์ระยะไกลโดยใช้ sshfs และฟิวส์ เซิร์ฟเวอร์ระยะไกลกำลังทำงานบนพอร์ตที่ไม่ได้มาตรฐานและฉันจะใช้คู่คีย์ ssh เพื่อตรวจสอบสิทธิ์
เมื่อประสบความสำเร็จฉันจะทำซ้ำสิ่งนี้สำหรับเซิร์ฟเวอร์ระยะไกลสามตัวที่มีคีย์แตกต่างกันดังนั้นฉันจึงจำเป็นต้องสามารถระบุคีย์แผนที่ที่เซิร์ฟเวอร์ระยะไกล
ฉันใช้การดัดแปลงแบบฝึกหัดนี้
- กุญแจสาธารณะอยู่ในระยะไกล: authorized_keys
- ฉันเพิ่มผู้ใช้ท้องถิ่นของฉันไปยัง
fuse
กลุ่ม - ฉันได้แก้ไขโลคอลของฉัน
~/.ssh/config
ให้มี (ต่อเซิร์ฟเวอร์):
`
Host [server_ip]
Port = [port]
IdentityFile = "~/.ssh/[private_key]"
User = "[user]"
`
เมื่อใดก็ตามที่ฉันพยายามติดตั้งเซิร์ฟเวอร์ระยะไกลในพื้นที่ฉันจะได้รับพร้อมท์ให้ใส่รหัสผ่านของผู้ใช้ระยะไกล (ไม่ใช่รหัสผ่านส่วนตัวของฉัน) ผู้ใช้ระยะไกลมีรหัสผ่านที่สร้างแบบสุ่มยาวซึ่งฉันไม่ต้องการบันทึกหรือจดจำดังนั้นคีย์จึงเป็นวิธีที่ฉันต้องการทำ
ฉันสามารถเชื่อมต่อผ่าน ssh (รวมกับ~/.ssh/config
ไฟล์) โดยใช้คำสั่งssh [ip]
เพื่อให้ฉันรู้ว่าไฟล์ config สามารถอ่านได้อย่างถูกต้องตามที่ฉันขอรหัสผ่านของคีย์ไม่ใช่ผู้ใช้ระยะไกล
ในการพยายามเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลฉันต้องระบุรายละเอียดการเชื่อมต่อแบบเต็มด้วยตนเองในคำสั่ง: `sshfs [user] @ [ip]: [remote_path] [local_path] -p [พอร์ต]
สิ่งที่ฉันพยายาม:
- ssh-add / path / to / key (การเพิ่มที่สำเร็จ)
- ระบุ
PreferredAuthentication = publickey
ใน ~ / .ssh / config - sshfs -o IdentityFile = / path / to / key user @ ip: / / my / mnt / dir
- sshfs user @ ip: / / my / mnt / dir -o IdentityFile = / path / to / key
- temp เปลี่ยนชื่อของคีย์เป็นค่าเริ่มต้นของ
id_rsa
- sshfs -F ~ / .ssh / config
มีไฟล์คอนฟิกูเรชันแบบรีโมตหรือโลคัลที่ฉันมองเห็นหรือไม่? สวิตช์หรือตัวเลือกบางอย่างที่ฉันต้องการรวมไว้ในการเรียกไปยัง sshfs (พยายาม -F) เพื่อบังคับให้อ่านและใช้การกำหนดค่า ssh ของฉัน
ผลผลิตของ ssh -v -p [port] [user]@[remote_ip]
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 พฤษภาคม 2555 debug1: กำลังอ่านข้อมูลการกำหนดค่า /home/ [/] เหมือนกัน /.ssh/config debug1: /home/ [/ meme /] / ssh / config บรรทัดที่ 2: การใช้ตัวเลือกสำหรับ [remote_ip] debug1: /home/ [คลาวด์ไลน์] / 24 บรรทัดที่ 24: การใช้ตัวเลือกสำหรับ * debug1: การอ่านข้อมูลการกำหนดค่า / etc / ssh / ssh_config debug1: / etc / ssh / ssh_config บรรทัดที่ 19: การใช้ตัวเลือกสำหรับ * debug1: กำลังเชื่อมต่อกับ [remote_ip] [[remote_ip]] พอร์ต [พอร์ต] debug1: สร้างการเชื่อมต่อแล้ว debug1: ไฟล์ข้อมูลประจำตัว /home/ [/] เหมือนกัน /.ssh/ [ส่วนตัว / คีย์] ประเภท 2 debug1: การตรวจสอบไฟล์บัญชีดำ /usr/share/ssh/blacklist.DSA-1024 debug1: การตรวจสอบไฟล์บัญชีดำ /etc/ssh/blacklist.DSA-1024 debug1: ไฟล์ข้อมูลประจำตัว /home/ [/] เหมือนกัน /.ssh/ [ส่วนตัว / คีย์ - คีย์ประเภท -1] debug1: โปรโตคอลระยะไกลรุ่น 2.0, ซอฟต์แวร์รุ่นระยะไกล OpenSSH_5.9p1 Debian-5ubuntu1.1 debug1: การแข่งขัน: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 * debug1: การเปิดใช้งานโหมดความเข้ากันได้สำหรับโปรโตคอล 2.0 debug1: สตริงรุ่นท้องถิ่น SSH-2.0-OpenSSH_6.1p1 Debian-4 debug1: SSH2_MSG_KEXINIT ส่งแล้ว debug1: ได้รับ SSH2_MSG_KEXINIT debug1: kex: เซิร์ฟเวอร์ -> ไคลเอ็นต์ aes128-ctr hmac-md5 zlib@openssh.com debug1: kex: client-> เซิร์ฟเวอร์ aes128-ctr hmac-md5 zlib@openssh.com debug1: ส่ง SSH2_MSG_KEX_ECDH_INIT debug1: ต้องการ SSH2_MSG_KEX_ECDH_REPLY debug1: รหัสโฮสต์เซิร์ฟเวอร์: [สำคัญ] debug1: การตรวจสอบโดยไม่มีตัวระบุพอร์ต debug1: โฮสต์ '[remote_ip]' เป็นที่รู้จักและตรงกับคีย์โฮสต์ ECDSA debug1: พบคีย์ใน /home/ [/] เหมือนกัน /.ssh/known_hosts:7 debug1: พบคีย์การจับคู่ที่ไม่มีพอร์ต debug1: ssh_ecdsa_verify: ลายเซ็นถูกต้อง debug1: SSH2_MSG_NEWKEYS ส่งแล้ว debug1: ต้องการ SSH2_MSG_NEWKEYS debug1: ได้รับ SSH2_MSG_NEWKEYS แล้ว debug1: เซิร์ฟเวอร์ไม่อนุญาตการข้ามเครือข่าย debug1: SSH2_MSG_SERVICE_REQUEST ส่งแล้ว debug1: ได้รับ SSH2_MSG_SERVICE_ACCEPT debug1: การรับรองความถูกต้องที่สามารถดำเนินการต่อได้: publickey, รหัสผ่าน debug1: วิธีการตรวจสอบสิทธิ์ต่อไป: publickey debug1: การเสนอพับลิกคีย์ DSA: /home/ [[]] debug1: เซิร์ฟเวอร์ยอมรับรหัส: pkalg ssh-dss blen 433 debug1: เปิดใช้งานการบีบอัดที่ระดับ 6 debug1: การตรวจสอบสิทธิ์สำเร็จ (publickey) รับรองความถูกต้องเป็น [remote_ip] ([[remote_ip]]: [พอร์ต]) debug1: channel 0: new [client-session] debug1: กำลังขอ no-more-sessions@openssh.com debug1: การเข้าสู่เซสชันแบบโต้ตอบ debug1: การส่งสภาพแวดล้อม debug1: การส่ง env LANG = en_GB.UTF-8 debug1: การส่ง env LC_CTYPE = en_GB.UTF-8 ยินดีต้อนรับสู่ Ubuntu 12.04.3 LTS (GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_64)
แก้ไข:
ฉันพบปัญหา ฉันพยายามเมานต์รีโมตไปที่ / mnt / new_dir โดยใช้ sudo ถ้าฉันเมานต์ไปยังตำแหน่งภายในบ้านท้องถิ่นของฉันมันก็ใช้ได้ sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
.
ฉันได้ทำตอนนี้sudo chown root:fuse /mnt/new_dir
และsudo chmod 774 /mnt/new_dir
และผมเชื่อว่าทุกคนทำงานตามที่ตั้งใจไว้
มีปัญหาด้านความปลอดภัยเกี่ยวกับการตั้งค่านี้ที่ฉันต้องระวังหรือไม่? (ผู้ใช้และรูทของฉันเป็นสมาชิกของfuse
กลุ่มเท่านั้น
-o ssh_command='ssh -v'
คำสั่งเพียงแค่แฮงค์และไม่ส่งออกอะไร
sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
. ฉันสามารถกำหนดค่าผู้ใช้ของฉันเพื่อให้มีสิทธิ์ที่จำเป็นในการเมานต์ / mnt เพื่อให้ผู้ใช้รายอื่นสามารถใช้ประโยชน์จากทรัพยากรระยะไกลได้หรือไม่