Apakah mungkin untuk me-mount sshfs secara otomatis

10

Apakah mungkin untuk memasang otomatis FS jarak jauh menggunakan sshfs setelah membuat koneksi VPN yang benar?

Izinkan saya untuk menjelaskan skenario, saya bekerja dari jarak jauh, untuk melakukan itu membantu jika saya bisa memasang dir rumah saya dari server di kantor. Untuk melakukan itu saya perlu vpn. Jadi di dalam manajer jaringan saya memilih VPN yang relevan dan terhubung. Menghubungkan tapi sekarang saya harus turun ke baris perintah dan me-mount dir rumah saya di beberapa mesin.

Jika saya lupa membuat satu mesin, lingkungan pengembang lokal saya tidak efisien. Saya kira saya bisa menulis skrip bash cepat untuk melakukan ini, tetapi saya lebih suka menjalankannya secara otomatis ketika saya terhubung.

Markus D
sumber
@Seth Pertanyaan itu merupakan duplikat dari ini;)
Radu Rădeanu
@ RaduRădeanu Pertanyaan itu lebih umum, sehingga akan lebih membantu orang di masa depan.
Seth
Sebenarnya, saya berubah pikiran, itu pertanyaan yang sangat berbeda.
Seth

Jawaban:

12

Temukan UUID koneksi Anda menggunakan

$ nmcli con

Perhatikan bahwa daftar ini tidak hanya koneksi fisik tetapi juga koneksi nirkabel yang ditentukan (SSID).

Masukkan beberapa skrip sederhana seperti ini di /etc/NetworkManager/dispatcher.d/direktori Anda :

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

Jangan lupa untuk mengatur izin yang tepat untuk membuatnya dapat dikecualikan (yaitu chmod +x trigger-sshfs-on-vpn.sh). Ini bisa berupa semua jenis skrip, skrip Bash mungkin cukup untuk tujuan Anda.

NetworkManager baru saja mengeksekusi semua skrip di direktori ini dengan menyediakan beberapa variabel lingkungan yang dapat Anda gunakan untuk skrip. Dalam hal ini Anda mungkin hanya perlu CONNECTION_UUID.

gertvdijk
sumber
Ini sepertinya cara terbaik untuk melakukan ini. Namun saya tidak bisa mulai mount -t sshfs user@host:/dir /home/myuser/dirbekerja, jadi saya sudah mencoba sshfs hostname:?directory /home/myuser/dirtetapi itu tampaknya tidak berhasil juga. Ada ide?
Mark D
@MarkD Apakah masalah Anda hanya muncul di skrip operator NetworkManager? Jika tidak, maka Anda mungkin ingin mengajukan pertanyaan lain untuk ini. Dan harap lebih spesifik tentang "tidak bekerja".
gertvdijk
@ gertvdijk Bagaimana Jika saya menggunakan kunci ssh prv untuk menghubungkan dan saya ingin memiliki izin yang sama dengan pengguna yang menjalankan sshfs? artinya, apakah izin juga akan berfungsi?
confiq
1
@confiq Tidak, NetworkManager akan menjalankan skrip ini sebagai root. Seperti halnya permintaan lain dari root sebagai pengguna, gunakan su. Misalnya. su -l username -c 'mycommand'
gertvdijk
1

Gunakan autofs.

Autofs akan secara otomatis me-mount folder yang dikonfigurasi sebagai titik mount ketika seseorang atau sesuatu mengaksesnya di sistem Anda.

Mount point dapat berupa host jarak jauh melalui sshfs dan juga mount point lain yang sewenang-wenang seperti:

  • samba
  • nfs
  • NTFS

ini adalah howto yang bagus

tomodachi
sumber
Sementara autofs akan berfungsi jika jaringan dapat dijangkau beberapa saat. Hanya bisa dijangkau ketika saya terhubung ke vpn.
Mark D