web-dev-qa-db-ja.com

sshfsを自動マウントする方法は?

sshfsを介してリモートリソースを自動マウントしようとしていますが、機能しません。解決策を得ることができるかどうかを尋ねる前に、 thisthisthisthis のすべてを読みました私の問題のためにしかしそれはうまくいきませんでした。

これが私がこれまでにしたことです:

  • /etc/fstabに次の行を追加しました。

    <username>@remote_Host_ip_address:remote_path Host_path Fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<username>/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000 0 0
    
  • リモートホストにsshを一度行ったので、/home/<username>/.ssh/know_hostsファイルに追加されます。後で確認しましたが、リモートホストがあります

  • コマンドSudo mount -aを実行しました

ディレクトリを変更してローカルパスを確認すると、ディレクトリにcdできないため、問題が発生し、次のようになります。

enter image description here

私がここで間違っていることは何ですか?私が欠けているものは何ですか?

1
ReynierPM

システム全体の/etc/fstabを使用するのではなく、 afuse を使用することをお勧めします。リンク先のArchwikiで言及されていますが、Fedoraにも含まれています。これはユーザーセッションで実行されるため、パスワードにssh-agentまたはPromptを使用できます。

また、オンデマンドでのみマウントされ、タイムアウト後にアンマウントするように構成できます。これは、ネットワークが完全に安定していない場合に特に役立ちます。

afuse -o intr -o timeout=300 \
  -o mount_template='sshfs -o intr -o follow_symlinks -o reconnect <username>@<remote_Host_ip_address>:<remote_path>:%r %m' \
  -o unmount_template='fusermount -u -z %m' \
  ~/<localmount>

... <things in brackets>をローカルオプションに置き換えてください。 afuseのドキュメントには、使用できる他のいくつかのオプションがあります。私は-o populate_root_commandが好きですが、必須ではありません。

ログイン時にこれを自動的に実行するには、さまざまな方法があります。デスクトップ環境によって異なりますが、基本的には、他のそのようなコマンドと同様に、自動起動するためにafuse行を追加する必要があります。

1
mattdm