È possibile montare automaticamente sshfs


10

È possibile montare automaticamente un FS remoto usando sshfs all'istanza di una corretta connessione VPN?

Mi permetta di spiegare lo scenario, sto lavorando in remoto, per farlo aiuta se posso montare la mia home directory da un server in ufficio. Per fare questo ho bisogno di VPN. Quindi, all'interno del gestore di rete, seleziono la VPN pertinente e mi connetto. Si collega ma ora devo passare alla riga di comando e montare la mia home directory su più macchine.

Se dimentico di fare una macchina il mio ambiente di sviluppo locale non è così efficiente. Suppongo di poter scrivere un rapido script bash per fare questo, ma preferirei farlo funzionare automaticamente quando mi connetto.



@Seth Questa domanda è una copia di questo;)
Radu Rădeanu,

@ RaduRădeanu Questa domanda è più generale, quindi sarà più utile per le persone in futuro.
Seth,

In realtà, ho cambiato idea, sono domande totalmente diverse.
Seth,

Risposte:


12

Trova l'UUID della tua connessione utilizzando

$ nmcli con

Si noti che questo elenca non solo le connessioni fisiche ma anche le connessioni wireless definite (SSID).

Inserisci alcuni semplici script come questo nella tua /etc/NetworkManager/dispatcher.d/directory:

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

Non dimenticare di impostare le autorizzazioni giuste per renderlo eseguibile (ad es chmod +x trigger-sshfs-on-vpn.sh.). Può essere qualsiasi tipo di script, uno script Bash è probabilmente sufficiente per il tuo scopo.

NetworkManager esegue semplicemente tutti gli script in questa directory fornendo alcune variabili di ambiente che è possibile utilizzare per gli script. In questo caso probabilmente hai solo bisogno CONNECTION_UUID.


Questo sembra il modo migliore per farlo. Tuttavia non riesco a mettermi mount -t sshfs user@host:/dir /home/myuser/diral lavoro, quindi ci ho provato sshfs hostname:?directory /home/myuser/dirma neanche quello sembra funzionare. Qualche idea?
Mark D,

@MarkD Il problema si presenta solo in uno script dispatcher di NetworkManager? In caso contrario, potresti voler fare un'altra domanda per questo. E si prega di essere più specifici su "non funziona".
Gertvdijk,

@gertvdijk Cosa succede se utilizzo la chiave sv prv per la connessione e voglio avere le stesse autorizzazioni dell'utente che esegue sshfs? significato, funzioneranno anche le autorizzazioni?
confiq

1
@confiq No, NetworkManager eseguirà questo script come root. Come con qualsiasi altra invocazione da root come utente, utilizzare su. Per esempio. su -l username -c 'mycommand'
gertvdijk,

1

Usa autofs.

Autofs monterà automaticamente una cartella configurata come punto di montaggio quando qualcuno o qualcosa vi accede sul sistema.

Il punto di montaggio può essere un host remoto tramite sshfs e un altro punto di montaggio arbitrario come:

  • samba
  • nfs
  • NTFS

ecco un bel howto


Mentre le autofs funzionerebbero se la rete fosse raggiungibile un po 'di tempo. È raggiungibile solo quando sono connesso alla VPN.
Mark D,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.