背景

背景

幾天前,我將作業系統從 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 權限(錯誤:)mount: only "root" can do that。我的下一步是使用 sftp,它似乎工作得更好。但後來我得到了上面提到的錯誤(錯誤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

相關內容