背景

背景

数日前にオペレーティング システムを Windows から Fedora に変更しました。つまり、Linux に関してはまったくの初心者です。

私の基本的な目標は、起動時にリモートドライブ(クラウドドライブ)を追加して使用できるようにすることです。 を使用して起動時に実行されるbashスクリプトを作成しようとしましたsftp。次のコードを見つけました。

sshfs [email protected]:/targetpath ~/mountdir

私の問題はこれはルート権限では機能しますが、ユーザー権限では機能しません通常の権限で実行するとエラーが発生しますread: Connection reset by peer。起動時にこれを実行したいので、ルート権限は使いたくありません。

また、ユーザー名とパスワードを保存する解決策を探しましたが、毎回入力しなくても済むような方法はまだ見つかっていません。


背景

フスタブ: 最初はたくさん Google 検索してfstabファイルにたどり着きました。丸一日かけて、システムの起動時にインターネット接続がなかったため、ターゲット ディスクを含めることができず、結局システムを壊してしまいました (少なくとも、それが起こっていたことだと思っています)。

スクリプト (WebDAV、sftp): その後、WebDAVを使ってみました

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

しかし、これもルート権限でのみ機能します (エラー: 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

関連情報