วิธีเมาท์รีโมตไดเร็กทอรีที่ใช้SSH
เพื่อให้พร้อมใช้งานเหมือนกับว่าเป็นโลคัลไดเร็กทอรีหรือไม่?
วิธีเมาท์รีโมตไดเร็กทอรีที่ใช้SSH
เพื่อให้พร้อมใช้งานเหมือนกับว่าเป็นโลคัลไดเร็กทอรีหรือไม่?
คำตอบ:
ก่อนติดตั้งโมดูล:
sudo apt-get install sshfs
โหลดไปที่เคอร์เนล:
sudo modprobe fuse
การตั้งค่าการอนุญาต (Ubuntu version <16.04):
sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount
ตอนนี้เราจะสร้างไดเรกทอรีเพื่อติดตั้งโฟลเดอร์ระยะไกล
remoteDir
ฉันเลือกที่จะสร้างมันขึ้นมาในไดเรกทอรีบ้านของฉันและเรียกมันว่า
mkdir ~/remoteDir
ตอนนี้ฉันรันคำสั่งเพื่อติดตั้ง (ติดตั้งที่บ้าน):
sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir
ตอนนี้มันควรจะติดตั้ง:
cd ~/remoteDir
ls -l
กำหนดค่าการพิสูจน์ตัวตนโดยใช้คีย์ ssh
สร้างคู่ของคีย์บนโลคัลโฮสต์
$ ssh-keygen -t rsa
ยอมรับความแออัดทั้งหมดด้วยปุ่ม Enter
คัดลอกกุญแจสาธารณะไปยังโฮสต์ระยะไกล:
$ ssh-copy-id -i .ssh/id_rsa.pub user@host
ติดตั้ง sshfs
$ sudo apt install sshfs
ติดตั้งไดเรกทอรีระยะไกล
$ sshfs user@host:/remote_directory /local_directory
อย่าพยายามเพิ่ม remote fs ไปยัง / etc / fstab
หรืออย่าพยายามเมาท์แชร์ผ่าน /etc/rc.local
ในทั้งสองกรณีจะไม่ทำงานเนื่องจากเครือข่ายไม่พร้อมใช้งานเมื่อ init อ่าน / etc / fstab
ติดตั้ง AutoFS
$ sudo apt install autofs
แก้ไข /etc/auto.master
ใส่เครื่องหมายความคิดเห็นในบรรทัดต่อไปนี้
#+/etc/auto.master.d
#+/etc/auto.master
เพิ่มบรรทัดใหม่
/- /etc/auto.sshfs --timeout=30
บันทึกและออก
แก้ไข /etc/auto.sshfs
เพิ่มบรรทัดใหม่
/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory
ชื่อผู้ใช้ระยะไกลเป็นข้อบังคับ
บันทึกและออก
เริ่ม autofs ในโหมดแก้ไขข้อบกพร่อง
$ sudo service autofs stop
$ sudo automount -vf
สังเกตบันทึกของเซิร์ฟเวอร์ ssh ระยะไกล
$ ssh user@remote_server
$ sudo tailf /var/log/secure
ตรวจสอบเนื้อหาของโลคัลไดเร็กทอรี
คุณควรเห็นเนื้อหาของรีโมตไดเร็กทอรี
เริ่มการป้อนอัตโนมัติในโหมดปกติ
หยุด AutoFS ทำงานในโหมดแก้ไขข้อบกพร่องด้วย CTRL-C
เริ่ม AutoFS ในโหมดปกติ
$ sudo service autofs start
สนุก
(ทดสอบบน Ubuntu 14.04)
จากการทดลองของฉันการสร้างกลุ่มฟิวส์และเพิ่มผู้ใช้ของคุณลงในกลุ่มไม่จำเป็นต้องเชื่อมต่อกับระบบไฟล์ ssh
เพื่อสรุปนี่คือขั้นตอนที่คัดลอกมาจากหน้านี้:
sshfs
$ sudo apt-get install sshfs
2. สร้างจุดเชื่อมต่อภายใน
$ mkdir /home/johndoe/sshfs-path/
3. ติดตั้งรีโมตโฟลเดอร์/remote/path
เป็น/home/johndoe/sshfs-path/
$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/
$ fusermount -u /home/johndoe/sshfs-path/
ติดตั้ง sshfs
sudo apt-get install sshfs
เพิ่มใน fstab:
<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0
sshfs
คำสั่งฉันคิดว่าชื่อโลคัล mountpoint มีชื่อremoteDir
และเมื่อฉันอยู่บน sere serever มี dir/home/maythuxServ/Mounted
ที่ไม่ได้ติดตั้งแบบโลคัลและฉันไม่สามารถบอกได้หรือ สนใจไม่ว่าจะติดตั้งที่อื่นหรือไม่