ローカルマシンとリモートマシン間でファイルを転送する最も便利な方法

ローカルマシンとリモートマシン間でファイルを転送する最も便利な方法

scpリモート サーバーで作業しているときに、小さなファイルをコピーする必要があるたびに ' を実行するのは非常に面倒です。

他にどのような解決策がありますか? どれが一番便利ですか?

次のようなものが望ましい:

  • どちらの側でも複雑な設定は必要ありません(両方のマシンが最新のUbuntuであると仮定)
  • 何らかの永続的な接続を開くので、その後の転送に必要な入力は最小限で済みます。

(継続的に同期する FTP サーバーでしょうか?)

答え1

継続的に同期する FTP サーバーでしょうか?

FTPは推奨されませんこのプロトコルには多くの問題があり、デビアンそして カーネル数年前に FTP サービスを停止しました。この問題には 2 つの解決策があります。

テキスト ファイルを編集する場合は、まず、使用するエディターにファイルをリモートで編集できる機能が付属しているかどうかを確認する必要があります。Emacs の TRAMPはそのような機能の一例です。

バイナリをコピーしている場合、またはリモートでファイルを編集できないエディターを使用している場合は、次のように sshfs を使用してリモート サーバーをローカルにマウントできます (root である必要はありません)。

$ mkdir ~/ssh-mount
$ sshfs <your-ssh-server>: ~/ssh-mount

リモート サーバーに接続するために使用するユーザーのホーム ディレクトリは、~/ssh-mount ディレクトリにマウントされます。 の後に、マウントするディレクトリを明示的に指定できます:。 実行している操作に応じて、ローカル ファイルを開くのと同じようにエディターでファイルを開くか、たとえば gcc でオプションを指定して、出力バイナリを ssh-mount ディレクトリに保存するようにコンパイラに指示することができます-o ~/ssh-mount

ディレクトリをアンマウントするには、root である必要もありません。

$ fusermount -u ~/ssh-mount

すべての SSH サーバーが sshfs を実装しているわけではないことに注意してください。たとえば、OpenSSH は実装していますが、Dropbear は実装していません。

関連情報