web-dev-qa-db-ja.com

sshfsを使用してパスワードなしで再起動時にリモートファイルシステムを自動マウント

欲しいもの:

  • システムを起動します(この場合はラップトップでubuntu 18.04)
  • /home/<user>/mnt/remote-HD0経由でリモートファイルシステムにアクセスできる

私が試したこと

  • sshfsコマンドで/ etc/fstabを編集します
  • / etc/crontabを@rebootタグで編集し、sshfsコマンドを実行するスクリプトを実行します
  • カスタムメイドのsystemdサービスでsshfsコマンドを実行するスクリプトを実行してみた

私は常に絶対パスを使用し、sshkey(ssh-copy-idを介してリモートシステムにコピーされます)も渡したので、パスワードを入力する必要はありません。 user_allow_other//etc/Fuse.confのコメントも外しました。

動作しないもの

Cmdと入力した場合

sshfs -o allow_other,delay_connect,reconnect,identityfile=/home/<user>/.ssh/id_rsa <remote@filesystem>:/mnt/HD0 /home/<user>/mnt/remote-HD0

ターミナルで、または実行可能スクリプトを介して実行すると、意図したとおりに機能します。私はファイルシステムにアクセスでき、pwと入力する必要はありません。ただし、fstabバージョンを使用すると

sshfs#<remote@filesystem>:/mnt/HD0    /home/<user>/mnt/remote-HD0    Fuse    defaults,_netdev,allow_other,identityfile=/home/<user>/.ssh/id_rsa 0 0

使用するまでマウントされません

 Sudo mount -a

ssh接続の場合はpwと入力し、Enterキーを押すと空のパスフレーズが表示されます。

他の2つの試行(crontabとsystemd)では、/home/<user>/mnt/remote-HD0にアクセスできないため、まったく機能しないか、壊れています。

ls /home/<user>/mnt/remote-HD0
ls: cannot access 'remote-HD0': Input/output error


ls -la
drwxrwxr-x  4 <user> <user> 4096 Jun 19 13:46 .
drwxr-xr-x 38 <user> <user> 4096 Jun 19 15:22 ..  
d?????????  ? ?      ?      ?    ?            remote-HD0

したがって、マウントプロセスに問題が発生しました。 (おそらく)2つの問題があります。

  1. Sshfsコマンドはネットワークがオンラインになる前に実行されます(これはcrontabとsystemdサービスを使用して考慮に入れようとしました)

  2. スリープコマンドを使用しても、この「入出力エラー」の問題が発生します。

私はすでにこれを修正するために数時間を費やし、使用されたすべての方法についてかなり学びましたが、今のところ私は先に進むことができるように解決策を望んでいます(おそらくfstabまたはsystemdを使用して、正しい試み)。

2
Arthur

質問の 改訂#4 に従って:

行を追加するexport SSH_AUTH_SOCK=/run/user/1000/keyring/ssh shスクリプトにcronで問題を解決しました。

1
Kulfy