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


24

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

現在の構成

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

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

    sshfs#someuser@remote.com:/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:インターフェースの起動を待ってからマウントを試みます
  • user:すべてのユーザーがこの特定のリモートロケーションをマウントするように要求できるようにします(rootユーザーの観点では、ブート時に自動的にマウントする必要はありません)
  • allow_other:(fuseグループ内の)すべてのユーザーがマウントされたfsにアクセスできるようにします
  • IdentityFile:リモートマシンの/home/someuser/.ssh/authorized_keyに追加された公開キーとペアになっている秘密キーを指します。
  • reconnect:わからない...接続が失われた場合、再接続を試みますか?

問題

  • 起動時に、someuserでログインし、ターミナルを起動します。/media/remote_dirは空です。

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

    mount sshfs#someuser@remote.com:/remote_dir
    

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

何が欠けている可能性があるかについての手がかりはありますか?


これを理解したことがありますか?Ubuntu 14.04 64ビットマシンでも同じ問題に直面しています。
glibdud

この質問の人気を、回答の数と比較して、私はfstabアプローチをあきらめました。私は弾丸をかみ、Automountの使用方法を学び、全体像の問題に対処することにしました。私の経験から、それは「正しい選択」でした。Automountの良い紹介はUbuntu wikiにあります
広告N 14

回答:


18

自動マウントが正常に機能する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を独自の環境に適応させる必要があります。


1
workaround = renameなしで、以前は機能しなかった場所で機能しました。だから、私の唯一の変更はdelay_connectオプションを追加することでした。これありがとう。_netdevが...十分にここにいない理由を不思議
ニコラ・

1
それも私にはぴったりです。@Nicolas、_netdevトニーの答えで問題が説明されていると思う。ネットワークは稼働している可能性がありますが、それでもホストを解決できません。明らかに、IPアドレスを使用することで解決できますが、fstabにIPアドレスが必要なのは誰ですか?
オースペックス

それが価値があるのは、どうにかしてこれをコピーしてアトムにコピーしたとき、それが壊れた目に見えない文字を拾ったからです。それらを削除する必要がありました
ジョナサン

4
それは大丈夫マウントしますが、私は次を取得します:ls / backup:入出力エラー
ジョナサン

Arch Linuxで 'delay_connect、workaround = rename'を追加するとうまくいきました。ありがとう!
aSystemOverload

1

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

  1. 非ルートユーザーにallow_otherマウントオプションの指定を許可してください。/etc/fuse.conf

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

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

allow_otherマウントオプションは、Linuxカーネルの未解決のセキュリティバグを公開します。default_permissionsマウントオプションがallow_otherと共に使用されない場合、ディレクトリエントリに対してファイルシステムによって実行された最初のパーミッションチェックの結果は、以降のアクセスに再利用されますアクセスされたエントリのiノードがカーネルキャッシュに存在する限り-アクセス許可がその後変更された場合でも、その後のアクセスが別のユーザーによって行われた場合でも。
Monica CellioのMountainX

0

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


6
「ネットワーク準備完了時にのみマウント」はを使用して既に要求されて_netdevおり、変更するとnoautoブート時にマウントできなくなります(マウントコマンドを使用する場合のみ明示的に)
Ad N

0

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

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

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

delay_connectオプションを拡張できますか?どこに追加されますか?質問を編集して、質問に関する詳細情報を追加します。
-AJefferiss

それをfstabオプションリストに追加します。sshfs#user @ host:/ remote / mnt / local fuse delay_connect、uid = 1000、gid = 100、umask = 0、allow_other 0 0
Tony
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.