RSAキーを使用して必要に応じてSSHファイルシステムを自動的にマウントする方法

RSAキーを使用して必要に応じてSSHファイルシステムを自動的にマウントする方法

/home/pi/server_folderRaspberry Pi()のフォルダをローカルフォルダ(/home/my_name/raspberrypi)に自動的にマウントしようとしています。空のrsaキーを設定すると、sshfs(fstabの自動マウント)を使用してこれを実行できますが、実際のキー(123など)を使用しようとすると、ラズベリーパイファイルシステムはマウントされません。パスワードを提供する必要があるため、これは非常に明白です。しかし、最初にアクセスしようとしたときにパスワードを求める方法はありますか/home/my_name/raspberrypi、それとも同様のことができますか?誰かが私のラップトップに手を置くときにrsaキーを空にしておくと、私のラズベリーパイにアクセスするためにパスワードや他のものを入力する必要がないためです。autofs、およびを見たが、autosshfsautosshfsはダウンロードされず、autofsは実際のrsaキーを使用してインストールする方法を説明していません(まあ、まだこれを行う方法のガイドが見つかりませんでした)。私は最新バージョンのArch Linuxを使用しています。 fstabエントリは次のとおりです。

[email protected]:/home/pi/server_folder/ /home/my_name/raspberrypi  fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/my_name/.ssh/id_rsa,allow_other,reconnect 0 0

これはアーチウィキで言われているものです(しかしそれはうまく説明しません)。

答え1

SSHFSはFUSEに基づいているため、ルートではなく自動マウントを使用する方が簡単です。使用ヒューズ、これはほとんど実行するように設計されています。ワンタイム設定:

mkdir ~/.afuse
ln -s .afuse/raspberrypi/server_folder ~/raspberrypi

サイレントインストーラを起動するには:

afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/.afuse

SSH_AUTH_SOCK起動時にこの変数を設定する必要がありますafuse。つまり、後で開始する必要がありますssh-agent。実行はssh-addSSHエージェントにキーをロードしてからSSHFSディレクトリにアクセスできます。

答え2

Gillesの正解を広げ、「統合」に対する彼の答えに対するコメントで提起されたいくつかの追加のアイデアを扱います。Enter(プロファイル)開始(スクリプト) ':

リクエストに応じて有効にできます。設置方法たとえば、スクリプト呼び出しを追加します。~/.profileまたはユーザーレベルのシステムサービスユニットの作成

私は同意する 回答:~/.config/systemd/user/afuse.service

[Unit]
Description="SSHFS via Afuse automounter"
AssertPathExists=%h/scp/
AssertFileIsExecutable=/usr/bin/afuse
AssertFileIsExecutable=/usr/bin/sshfs

[Service]
Type=forking
WorkingDirectory=%h/scp
ExecStart=/usr/bin/afuse \
    -o mount_template="sshfs -o ServerAliveInterval=10 -o reconnect %%r:/ %%m" \
    -o unmount_template="fusermount -u -z %%m" .
Restart=always
PrivateTmp=true
#NoNewPrivileges=true
#Environment=

[Install]
WantedBy=default.target

関連情報