我正在尝试在 Linux 中为 sshfs 创建一个前端,用户使用密钥 + 密码进行连接。我希望能够在 ssh 询问时将密码发送到 ssh,然后在 gui 退出时让 sshfs 保持运行。
Linux 终端可以做到这一点,但我不知道我做错了什么。
我尝试使用 sshfs 命令创建一个 tty,并看到密码提示,但当我发送它时,ssh 就退出了。如果我创建一个正常的 ssh 连接,效果很好。也许是因为 sshfs 衍生了 ssh?
我尝试使用 sshfs -o password_stdin 选项运行 popen () 并通过写入“password " 指向用 popen () 返回的文件指针。密码似乎无法通过 ssh。尝试过带或不带结尾的 '&'。
我尝试了
system ()
函数,使用相同的 -o password_stdin 并使用带或不带结尾的“&”:
echo password > sshfs -o password_stdin ... (sshfs won't start)
echo password | sshfs -o password_stdin ... (times out waiting for prompt)
sshfs -o password_stdin ... <<< 'password' (times out waiting for prompt)
即使我尝试:
'echo password | sshfs -o password_stdin ...'
在普通终端中,等待密码也会超时。
有人能指出我正确的方向吗?
提前致谢
需要追加''(即模拟回车)
(echo 'MY_PASSWORD'; echo '') | sshfs user@ip:/home /tmp/home -o password_stdin
工作正常,因为它不等待任何其他输入。