web-dev-qa-db-ja.com

/ etc / fstabの構成にもかかわらず、ブート時にsshfsが自動的にマウントされません

Ubuntu(13.04)ワークステーションをセットアップして、リモートファイルシステムを(ssh経由で)マウントしようとしています。

現在の構成

  • ユーザーsomeuserを作成し、それをFuseグループに追加しました

  • 私のfstabエントリは次のようになります:

    sshfs#[email protected]:/remote_dir  /media/remote_dir/   Fuse    auto,_netdev,port=22,user,allow_other,noatime,follow_symlinks,IdentityFile=/home/someuser/.ssh/id_rsa,reconnect     0       0
    

私の理解から:

  • auto:ブート時にリモートfsをマウントするよう明示的に要求します
  • _ netdev:マウントを試みる前にインターフェースが起動するのを待つ
  • ser:すべてのユーザーがこの特定のリモートロケーションをマウントするように要求できるようにします(rootユーザーの観点からはブート時に自動的にマウントする必要はありません)
  • allow_other:(Fuseグループ内の)ユーザーはマウントされたfsにアクセスできます
  • IdentityFile/ home/someuser/.ssh/authorized_keyで追加された公開鍵とペアになった秘密鍵を指しますリモートマシン。
  • reconnect:不明...接続が失われた場合、再接続を試みますか?

問題

  • 起動時に、someuserでログインし、端末を起動し、/ media/remote_dirは空です。

  • しかし、同じユーザー(またはルート)から、次のように入力するだけでマウントできます。

    mount sshfs#[email protected]:/remote_dir
    

    また、ファイルブラウザでremote_dirをクリックすると、自動的にマウントされます。

不足している可能性があるものに関する手がかりは?

23
Ad N

自動マウントが正常に機能するOneiricからPreciseにアップグレードした後、まったく同じ問題が発生しました。

私にとって問題を解決したのは、delay_connectオプションを追加することでした。さらに、Oneiricの時代から、オプション "workaround = rename"を既に使用しています。今日でも必要かどうかはわかりませんが、少なくとも害はないようです。

/ etc/fstabの完全な行は次のとおりです。

sshfs#user@Host:/remote/dir /local/dir Fuse delay_connect,idmap=user,uid=1000,gid=1000,umask=0,allow_other,_netdev,workaround=rename 0 0

明らかに、ユーザー/グループIDを独自の環境に適応させる必要があります。

17
lbo

権限のあるDNSサーバーの/etc/fstabからマウントし、このDNSサーバーがリモートSFTPサーバーのホスト名を提供する場合、ホスト名をまだ解決できないため、確実に接続できません。 。マウントを試行している間にDNSサーバーが実行されているか、リモートサーバーのIPアドレスを取得する代替方法を見つける必要があります。

この場合、次の解決策のいずれかを選択できます。

  • delay_connectオプションを追加して、ブートシーケンスを続行し、ブートシーケンスが開始した後にDNSサーバーが接続できるようにします。
  • 適切なIPアドレスを使用して、ローカル/etc/hostsファイルにリモートSFTPサーバーのホスト名を追加します。
  • ホスト名の代わりにfstabでリモートSFTPサーバーのIPアドレスを使用します。
0
Tony

同じ問題を抱えていたので、autoをnoautoにする必要があると思います。ブート時にマウントするべきではなく、ethが起動したときにマウントする必要があります

0
Piet Bijl

また、以前のすべてのコメントを補完するために、

  1. 非ルートユーザーがallow_other/etc/Fuse.confマウントオプションを指定できるようにしてください。

  2. ホストの署名が~/.ssh/known_hostsファイルに追加されるように、ルート中に少なくとも1回は手動で各sshfsマウントを使用するようにしてください。

    sshfs [user]@[Host]:[remote_path] [local_path] -o allow_other,IdentityFile=[path_to_id_rsa]
    
0