sshfsを使用して自動マウントする方法は?


14

次のコマンドを使用して、ssh ubuntuディレクトリをubuntu pcにマウントしています。

sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

私の質問は、デスクトップでこのためのスクリプトを作成できます。そこで、常に手動でコマンドを入力せずにドライブをマウントする必要があるときに、ダブルクリックしてこのスクリプトを実行できます。

回答:


15

ランチャーを作成し、.desktopそこに-fileをドラッグ&ドロップすることでランチャーバーに追加できます。

    #!/usr/bin/env xdg-open

    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[en_US]=nautilus
    Name[en_US]=Connect to xy
    Exec=shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
    #OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be)
    #Exec=nautilus sftp://user@192.xx.xx.xx.xx/dir/dir
    Comment[en_US]=Connect to xy via ssh
    Name=Connect to xy
    Comment=Connect to xy via ssh
    Icon=nautilus

提案-さらに少ない作業:

さらに少ない作業(=自動接続)とグラフィカルユーザーインターフェイスが必要な場合は、Gigolo をチェックしてくださいgigoloをインストールする。ブックマークされたファイルシステムが存在する場合はいつでも、ブックマークを自動マウントする機能があります。あなたはそれをチェックしたいかもしれません。

sudo apt-get install gigolo   # or use the install link above

を実行しますgigolo。環境設定には、自動起動とトレイアイコンをアクティブにする別のオプションがあります。両方を確認してください。次に、ブックマークを追加します。

これがスクリーンショットです:

ここに画像の説明を入力してください

シェルウェイ

別の解決策は、次の行をcrontabに追加することです(/etc/crontabsudo特権で編集):

@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

ただし、コマンドの実行時にはUbuntuのパスワードマネージャーが存在しないため、パスワードなしの秘密/公開キーペアを使用して、問題のsshサーバー(または同様の認証方法)で認証する必要があります。これにより、リブートするたびにマウントされます。

さらに別の解決策は、編集することです/etc/fstab(Ubuntu-Versionがそのオプションを提供している場合)。


1
私はgigoloを使用できません。Cozホームフォルダー内の特定のマウントポイントを使用したい。最初の解決策は良いようです。しかし、ファイルの命名については明確ではありません。「.desktop-file」を指定したのは、ファイル名または拡張子です。ファイルの命名に関する例をもっと教えてください。それから私はそれを試すことができます。
BlueBird

拡張機能です。Ubuntuのすべてのランチャーは「.desktop」で終わります。空のファイルを作成します。上に投稿したテキストをコピーします。「Name =」の後ろのテキストを自分に合ったものに置き換え、「Exec =」の後ろのテキストの実際のパスを置き換えます。次に、「connect.desktop」または「mountxy.desktop」(たとえば)として保存します。ファイルを保存した後、ランチャーパネルまたは任意の場所にドラッグアンドドロップします。
CON-F-使用

すごい!!動いた。
BlueBird

8
OMG ...プログラムにとって最悪の名前。
レーケンシュタイン

どうやら、自動起動にgigoloを追加するオプションはないので、自分で行う必要があります。コマンドを実行gnome-session-propertiesして追加し/usr/bin/gigoloます。マウントポイントを選択することはできませんが、ホームディレクトリへのシンボリックリンクを作成できます(でln -s)。ファイルマネージャーでフォルダーを右クリックし、を選択すると、元のマウントポイントを見つけることができますOpen in Local Terminal
Seppo Enarvi

4

このフォーラムのスレッドは、あなたがしたいことを正確に私に思える自動マウントSSHFSを作成する方法を示しています。


スレッドは非常に古く、ネットワーク依存のマウントを追加するために使用できるようにx-systemdなりました_netdev
ターゴン

3

これをシェルスクリプトに入力するだけで、デスクトップでランチャーを作成できます。

mountssh.sh

#!/bin/bash
shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

確認しchmod +x mountssh.shてからクリックすると実行されます

または、デスクトップで右クリックし、URLパラメーターを使用してランチャーを作成することにより、gvfsを介してマウントできますssh://user@192.xx.xx.xx.xx/dir/dir。デフォルトでは、にマウントされ~/.gvfs/...ます。を使いたい場合/home/username/mount/xxxは、gvfsからこれへのシンボリックリンクを作成できます。


デスクトップに「mount-192.168.1.5.sh」というファイルを作成しました。ダブルクリックすると、geditで開きます。
BlueBird

どこでも実行可能な特権でこのshファイルを作成し、この.shファイルを指すランチャーをデスクトップに作成する必要があります。
イラドリアン

2

さらに一歩踏み込んで、autofsにマウントの面倒を見てもらうこともできます。autofsは(スーパーユーザー用のパスワードなしのキーペア作成する場合を除き)SSH公開キー認証では特にうまく機能しないため、ユーザーのSSHキー、ssh-agent、およびキーチェーンを使用できるツールがあります。

  • autosshfs:ユーザーごとのSSH構成を使用したユーザーごとのSSHFS自動マウント
  • afuse:FUSEで実装された自動マウンター

0

まったく同じ方法でフォルダーをマウントしました.sh。コマンドを含むファイルを指すカスタムランチャーを作成しました。ファイルに実行許可があることを確認してください。

ランチャーをクリックするだけです。

ここに画像の説明を入力してください


0

cronを使用してsshディレクトリを自動的にマウントしようとしましたが、というエラーが発生しますNetwork is unreachable。これは、cronジョブの実行が早すぎてIP接続を確立できないためです。sshfsコマンドの前にsleepを挿入すると、sshディレクトリが正常にマウントされます。

sleep 5 && sshfs ......

そこで、要件を満たすためにこのスクリプトを作成しました。

#! /bin/sh
while true
do 
    ping -c1 -w1 ssh_server_ip > /dev/null && break
done
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 sshname:/mountpath /localmountpath
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.