Có thể tự động gắn sshfs


10

Có thể tự động gắn kết một FS từ xa bằng cách sử dụng sshfs khi khởi tạo kết nối VPN phù hợp không?

Cho phép tôi giải thích kịch bản, tôi đang làm việc từ xa, để làm điều đó có ích nếu tôi có thể gắn thư mục nhà của mình từ một máy chủ trong văn phòng. Để làm điều đó tôi cần phải nhập vpn. Vì vậy, trong trình quản lý mạng, tôi chọn VPN có liên quan và kết nối. Nó kết nối nhưng bây giờ tôi phải thả xuống dòng lệnh và gắn dir nhà của tôi trên một số máy.

Nếu tôi quên làm một máy thì môi trường dev cục bộ của tôi không hiệu quả. Tôi cho rằng tôi có thể viết một tập lệnh bash nhanh để làm điều này nhưng tôi muốn nó tự động chạy khi tôi kết nối.



@Seth Câu hỏi đó trùng lặp với điều này;)
Radu Rădeanu

@ RaduRădeanu Câu hỏi đó chung chung hơn, vì vậy nó sẽ hữu ích hơn cho mọi người trong tương lai.
Seth

Thật ra, tôi đã thay đổi suy nghĩ, chúng là những câu hỏi hoàn toàn khác nhau.
Seth

Câu trả lời:


12

Tìm UUID của kết nối của bạn bằng cách sử dụng

$ nmcli con

Lưu ý rằng danh sách này không chỉ các kết nối vật lý mà cả các kết nối Không dây được xác định (SSID).

Đặt một số tập lệnh đơn giản như thế này trong /etc/NetworkManager/dispatcher.d/thư mục của bạn :

#!/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

Đừng quên thiết lập các quyền phù hợp để làm cho nó dễ dàng (nghĩa là chmod +x trigger-sshfs-on-vpn.sh). Nó có thể là bất kỳ loại tập lệnh nào, tập lệnh Bash có thể đủ cho mục đích của bạn.

NetworkManager chỉ thực thi tất cả các tập lệnh trong thư mục này cung cấp một số biến môi trường mà bạn có thể sử dụng để tạo tập lệnh. Trong trường hợp này có lẽ bạn chỉ cần CONNECTION_UUID.


Đây dường như là cách tốt nhất để làm điều này. Tuy nhiên tôi không thể mount -t sshfs user@host:/dir /home/myuser/dirđi làm, vì vậy tôi đã thử sshfs hostname:?directory /home/myuser/dirnhưng dường như nó cũng không hoạt động. Có ý kiến ​​gì không?
Đánh dấu

@MarkD Vấn đề của bạn chỉ phát sinh trong tập lệnh bộ điều phối NetworkManager? Nếu không, sau đó bạn có thể muốn hỏi một câu hỏi khác cho điều này. Và hãy cụ thể hơn về "không hoạt động".
gertvdijk

@gertvdijk Nếu tôi sử dụng khóa prsh ssh để kết nối và tôi muốn có quyền như người dùng chạy sshfs thì sao? có nghĩa là, quyền cũng sẽ làm việc?
confiq

1
@confiq Không, NetworkManager sẽ chạy tập lệnh này với quyền root. Như với bất kỳ lời mời khác từ root như người dùng, sử dụng su. Ví dụ. su -l username -c 'mycommand'
gertvdijk

1

Sử dụng tự động.

Autofs sẽ tự động gắn kết một thư mục được cấu hình như một điểm gắn kết khi ai đó hoặc một cái gì đó đang truy cập nó trên hệ thống của bạn.

Điểm gắn kết có thể là một máy chủ từ xa thông qua sshfs cũng như một điểm gắn kết khác tùy ý, chẳng hạn như:

  • samba
  • nfs
  • NTFS

đây là một đẹp howto


Trong khi autofs sẽ hoạt động nếu mạng có thể truy cập được một số thời gian. Nó chỉ có thể truy cập khi tôi kết nối với vpn.
Đánh dấu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.