sshfsを自動マウントすることは可能ですか


10

適切なVPN接続のインスタンス化時にsshfsを使用してリモートFSを自動マウントすることは可能ですか?

私がリモートで作業しているシナリオを説明させてください。これは、オフィスのサーバーからホームディレクトリをマウントできる場合に役立ちます。そのためには、vpnを実行する必要があります。したがって、ネットワークマネージャー内で、関連するVPNを選択して接続します。接続しますが、コマンドラインにドロップして、ホームディレクトリを複数のマシンにマウントする必要があります。

1台のマシンを実行するのを忘れた場合、私のローカル開発環境はそれほど効率的ではありません。これを行うための簡単なbashスクリプトを記述できると思いますが、接続時に自動的に実行したいのです。



@Sethその質問はこれと
同じ

@RaduRădeanuその質問はより一般的であるため、将来の人々にとってより役立つでしょう。
Seth

実は、私は考えを変えました。まったく違う質問です。
Seth

回答:


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)。どんな種類のスクリプトでもかまいませんが、おそらくBashスクリプトで十分です。

NetworkManagerは、スクリプトに使用できるいくつかの環境変数を提供して、このディレクトリ内のすべてのスクリプトを実行するだけです。この場合、おそらく必要なだけですCONNECTION_UUID


これはこれを行うための最良の方法のようです。しかし、私はmount -t sshfs user@host:/dir /home/myuser/dir仕事に行くことができないので、私は試しましたsshfs hostname:?directory /home/myuser/dirが、それもうまくいかないようです。何か案は?
マークD

@MarkD問題はNetworkManagerディスパッチャースクリプトでのみ発生しますか?そうでない場合は、これについて別の質問をすることをお勧めします。また、「機能しない」について詳しく説明してください。
gertvdijk 2012

@gertvdijk接続にssh prvキーを使用していて、sshfsを実行するユーザーと同じアクセス許可が必要な場合はどうすればよいですか?意味、権限も機能しますか?
confiq

1
@confiqいいえ、NetworkManagerはこのスクリプトをrootとして実行します。ユーザーとしてのrootからの他の呼び出しと同様に、を使用しますsu。例えば。su -l username -c 'mycommand'
gertvdijk

1

autofsを使用します。

autofsは、誰かまたは何かがシステム上のフォルダにアクセスすると、マウントポイントとして構成されたフォルダを自動的にマウントします。

マウントポイントは、sshfsを介したリモートホストのほか、次のような任意の他のマウントポイントにすることができます。

  • サンバ
  • NFS
  • NTFS

ここに素敵なハウツーがあります


autofsは、ネットワークにしばらく到達できる場合は機能しますが、VPNに接続しているときにのみ到達可能です。
マークD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.