背景

背景

几天前,我将操作系统从 Windows 换成了 Fedora。因此,对于任何 Linux 的东西,我都还是个新手。

我的基本目标是在启动时添加一个远程驱动器(我的云驱动器),以便我可以使用它。我尝试创建一个将在启动时执行的 bash 脚本sftp。我发现以下代码

sshfs [email protected]:/targetpath ~/mountdir

我的问题是这适用于 root 权限,但不适用于我的用户权限。使用我的正常权限执行时出现错误read: Connection reset by peer。因为我想在启动时执行此操作,所以我不想使用 root 权限。

我还搜索了解决方案来保存我的用户名和密码,但我还没有找到办法,这样我就不必每次都输入它们。


背景

系统状态:我谷歌搜索了很多次,fstab最终找到了这个文件。我花了一整天的时间,最后系统崩溃了,因为启动系统时没有网络连接,所以无法包含目标磁盘(至少我认为是这样)。

脚本(WebDAV、sftp):然后我尝试使用 WebDAV

mount -t davfs2 https://webdav.example.com ~/mountdir

但这也只适用于 root 权限 (Error: mount: only "root" can do that)。我的下一步是使用 sftp,它似乎效果更好。但随后我收到了上述错误 (Error: read: Connection reset by peer)。

我不想将文件存储在本地,因为没有足够的可用磁盘空间。

抱歉,如果这是一个愚蠢或非常基本的问题,但我找不到任何继续的方法。谢谢你的帮助。

答案1

您永远都不应该以 root 身份运行脚本!我可以想出一些以 root 身份运行脚本的理由,但总的来说,这不是一个好主意。sshfs也不需要 root 身份即可运行!:)

这应该允许您使用密码挂载远程 ssh 文件系统sshfs(如果您可以使用证书而不是密码会更好)。

echo <mypassword> | sshfs <myuser>@<site.tld>:/ ~/<myfolder> -o workaround=rename -o password_stdin

替换<mypassword><myuser><site.tld><myfolder>

例子:

echo 4ghNZGpk182q8SvY0kw0 | sshfs [email protected]:/ ~/diblo -o workaround=rename -o password_stdin

笔记:确保挂载文件夹~/<myfolder>存在或者创建它(记住从要运行脚本的 Linux 用户创建该文件夹):

mkdir -p ~/<myfolder>

代替<myfolder>

https://www.darklaunch.com/how-to-remote-mount-with-password-using-sshfs-and-stdin-ubuntu-sshfs-remote-mounting-mosso

相关内容