将 sshfs 与 ssh-agent 和/或 kwallet 一起使用

Sil*_*cer 5 ssh ssh-agent sshfs kwallet

我正在使用带有密码保护的密钥对的 sshfs 来使用 shell 脚本挂载远程文件夹。我也在该脚本中使用 ssh。

每次启动 shell 脚本时,我都会在命令行上收到每个 sshfs 调用的密码请求。我需要防止这种情况。

有没有办法将 sshfs 与 ssh-agent 和/或 kwallet 一起使用(就像我对 ssh 所做的那样)?或者我可以重用 sshfs 的现有 ssh 连接吗?

Jay*_*Eye 2

sshfs您是从 shell启动,还是从启动时脚本启动?

如果您从 shell 启动它,并且有一个正在运行的 ssh-agent,它应该可以正常工作:

$ ssh-add -l
2048 SHA256:XXXXX /home/ji/.ssh/id_rsa (RSA)
$ echo success > foo
$ scp foo ins:
  ...
$ rm foo
$ mkdir /tmp/j
$ sshfs ins: /tmp/j
$ cat /tmp/j/foo
success
Run Code Online (Sandbox Code Playgroud)

如果您从环境中尚未有 SSH_AUTH_SOCK 的位置启动它,并假设 ssh-agent 已处于活动状态并具有密钥,则只需将 SSH_AUTH_SOCK 设置为正确的值即可,您可以通过运行ps uxeww | grep SSH_AUTH_SOCK和按摩输出,或者只是查看/tmp/ssh-*/*您可以访问并使用的任何插座!我假设您可以编写一个简单的 shell 脚本来做到这一点!


小智 0

  1. 取消注释(或添加行)user_allow_other到 /etc/fuse.conf
  2. 不使用 sudo 运行挂载

sshfs 在前台运行,这对我来说没问题。不想离开远程安装座并在生产系统中发生潜在的事故。