幾天前,我將作業系統從 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>
。