เป็นไปได้ที่จะเมานต์อัตโนมัติ sshfs


10

เป็นไปได้หรือไม่ที่จะติดตั้ง FS ระยะไกลโดยอัตโนมัติโดยใช้ sshfs เมื่อเชื่อมต่อ VPN ที่เหมาะสมได้ทันที

อนุญาตให้ฉันอธิบายสถานการณ์ฉันทำงานจากระยะไกลเพื่อช่วยฉันถ้าฉันสามารถติดตั้ง dir บ้านของฉันจากเซิร์ฟเวอร์ในสำนักงาน ในการทำเช่นนั้นฉันต้อง vpn ดังนั้นภายในตัวจัดการเครือข่ายฉันเลือก VPN ที่เกี่ยวข้องและเชื่อมต่อ มันเชื่อมต่อ แต่ตอนนี้ฉันต้องไปที่บรรทัดคำสั่งและติดตั้ง dir บ้านของฉันบนเครื่องหลายเครื่อง

ถ้าฉันลืมที่จะทำหนึ่งเครื่องสภาพแวดล้อม dev ท้องถิ่นของฉันไม่มีประสิทธิภาพ ฉันคิดว่าฉันสามารถเขียนสคริปต์ทุบตีด่วนเพื่อทำสิ่งนี้ แต่ฉันอยากให้มันทำงานโดยอัตโนมัติเมื่อฉันเชื่อมต่อ



@Seth คำถามที่เป็นที่ซ้ำกันนี้;)
Radu Rădeanu

@ RaduRădeanuคำถามนั้นเป็นเรื่องทั่วไปดังนั้นมันจะเป็นประโยชน์กับผู้คนในอนาคตมากกว่า
เซท

ที่จริงฉันเปลี่ยนใจแล้วพวกเขาต่างคำถามกันโดยสิ้นเชิง
เซท

คำตอบ:


12

ค้นหา UUID ของการเชื่อมต่อของคุณโดยใช้

$ nmcli con

โปรดทราบว่านี่ไม่เพียงแสดงรายการการเชื่อมต่อทางกายภาพ แต่ยังรวมถึงการเชื่อมต่อไร้สายที่กำหนดไว้ (SSID)

ใส่สคริปต์ง่ายๆแบบนี้ใน/etc/NetworkManager/dispatcher.d/ไดเรกทอรีของคุณ:

#!/bin/bash

# Specify your connection UUID you like to trigger on below.
MYCON_UUID=397bdb70-2a89-415e-b3e9-09ca0b704fc1

if [ "$CONNECTION_UUID" == "$MYCON_UUID" ]
then
    # do your scripting you need to do here:
    mount -t sshfs ...
fi

อย่าลืมตั้งค่าการอนุญาตที่ถูกต้องเพื่อให้สามารถทำให้เสถียร (เช่นchmod +x trigger-sshfs-on-vpn.sh) อาจเป็นสคริปต์ประเภทใดก็ได้สคริปต์ทุบตีอาจเพียงพอสำหรับวัตถุประสงค์ของคุณ

NetworkManager จะเรียกใช้งานสคริปต์ทั้งหมดในไดเรกทอรีนี้โดยระบุตัวแปรสภาพแวดล้อมบางอย่างที่คุณสามารถใช้สำหรับการสร้างสคริปต์ CONNECTION_UUIDในกรณีนี้คุณอาจจะเป็นเพียงแค่ต้อง


ดูเหมือนว่าวิธีที่ดีที่สุดในการทำเช่นนี้ อย่างไรก็ตามฉันไม่สามารถmount -t sshfs user@host:/dir /home/myuser/dirทำงานได้ดังนั้นฉันจึงพยายามsshfs hostname:?directory /home/myuser/dirแต่นั่นก็ไม่ได้ผลเช่นกัน ความคิดใด ๆ
Mark D

@MarkD ปัญหาของคุณเกิดขึ้นเฉพาะในสคริปต์ตัวเลือก NetworkManager หรือไม่ ถ้าไม่เช่นนั้นคุณอาจต้องการถามคำถามอื่นสำหรับเรื่องนี้ และโปรดเจาะจงมากขึ้นเกี่ยวกับ "ไม่ทำงาน"
gertvdijk

@gertvdijk จะเกิดอะไรขึ้นถ้าฉันใช้คีย์ ssh prv สำหรับการเชื่อมต่อและฉันต้องการสิทธิ์เหมือนกับผู้ใช้ที่รัน sshfs ความหมายจะอนุญาตทำงานเช่นกัน?
confiq

1
@confiq ไม่ NetworkManager จะเรียกใช้สคริปต์นี้เป็น root เช่นเดียวกับการภาวนาอื่น ๆ suจากรากเป็นผู้ใช้ให้ใช้ เช่น. su -l username -c 'mycommand'
gertvdijk

1

ใช้ autofs

Autofs จะทำการเมานต์โฟลเดอร์ที่กำหนดค่าเป็นจุดเมานท์โดยอัตโนมัติเมื่อมีคนหรือบางสิ่งกำลังเข้าถึงมันในระบบ

จุดเชื่อมต่อสามารถเป็นโฮสต์ระยะไกลผ่าน sshfs รวมถึงจุดเชื่อมต่ออื่น ๆ โดยพลการเช่น:

  • แซมบ้า
  • NFS
  • NTFS

ที่นี่เป็นที่ที่ดีHOWTO


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