sshfs
を介してリモートリソースを自動マウントしようとしていますが、機能しません。解決策を得ることができるかどうかを尋ねる前に、 this 、 this 、 this 、 this のすべてを読みました私の問題のためにしかしそれはうまくいきませんでした。
これが私がこれまでにしたことです:
/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
できないため、問題が発生し、次のようになります。
私がここで間違っていることは何ですか?私が欠けているものは何ですか?
システム全体の/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行を追加する必要があります。