web-dev-qa-db-ja.com

SSHでは、ローカルシステムにどのようにmvしますか?

ウェブホストのディレクトリにssh- edし、ダウンロードするwebappをtar- edしました。 mv~/mydirectory/backupsまたは/home/mydirectory/backupsにしようとすると、「ホーム」がsshされているWebホストのルートとして定義されます。

Webホストのシステム内にいる間にローカルドライブにSSHで移動するにはどうすればよいですか?

129
JeanSibelius

まず最初に:sshは別のコンピューターにリモートでログインする方法です。 sshの後に取得するシェル(コマンドライン)は、リモートマシンでxtermを開いた場合と(ほとんど)同じです。ファイルを移動するそのような方法を提供しない場合。

ただし、リモートコンピューターがssh接続を受け入れるという事実は、ファイルを交換するためのいくつかのオプションを提供します。

scpを使用するローカルコンピューターからリモートにコピーするには、ローカルコンピューターに次のように入力します。

scp /tmp/file [email protected]:/home/name/dir

(/ tmp/fileはローカルファイルに、/ home/name/dirはリモートディレクトリに置き換えることができます)

リモートコンピューターからローカルコンピューターにコピーするには、localコンピューターに次のように入力します。

scp [email protected]:/home/name/dir/file /tmp

sshfsを使用します。これはもう少し高度ですが、はるかに優れています(両方のコンピューターのインターネット接続が良好な場合。そうでない場合、scpに固執します)

リモートコンピューターからローカルコンピューターの(空の)ディレクトリにディレクトリを「リンク」できます。リモートコンピューターの/ some/remote/dirをコンピューターの/ home/youruser/remotecompに「リンク」するとします。リモートコンピューターに/ some/remote/dir/fileファイルがある場合は、/ home/youruser/remotecomp/fileで確認できます。通常どおりコピーとmvを実行でき、リモートファイルとディレクトリを変更することもできます。

ただし、接続が終了すると、/ home/youruser/remotecompが再び空のディレクトリになり、他のディレクトリにコピーしたファイルのみをローカルコンピューターに保持することに注意してください。

これを達成するには:

1)sshfsをインストールします。

Sudo apt-get install sshfs

2)空のディレクトリを作成する

mkdir /home/youruser/remotecomp

3)2つのディレクトリを「リンク」します(正しい用語はマウントです)

sshfs [email protected]:/some/remote/dir /home/youruser/remotecomp

4)楽しむ

5)ディレクトリの「リンク解除」

fusermount -u /home/youruser/remotecomp

ローカルコンピューターがwindowsを実行している場合windowsのscpのバージョンを見つけることができます。例: winscp

179
josinalvo

scpまたはrsyncのいずれかを使用できます。ローカルシステムで:

scp remoteuser@remotehost:/remote/dir/file /local/dir/

しかし、あなたがバックアップについて言及したので、私はそれが増分であり、あなたが時々それをする必要があると思います。したがって、rsyncは増分バックアップに適した選択肢です。ローカルシェルで:

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/

オプションについては、rsync(1)およびscp(1)のマニュアルページを参照してください。

16

scpセキュアコピーを使用できます。

ローカルシェルから:

scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/

この例では、sshを使用してWebホストの/path/of-the/tar.archiveから/ home/mydirectory/backups /にコピーします

追加オプション:

-C:圧縮を有効にします

10
pl1nk

同じ問題がありました。簡単な解決策は次のとおりです。

  1. Nautilusを開く(エクスプローラー)
  2. 左パネルの下部にある+ Other Locationsをクリックします。
  3. 下部にはストリップConnect to serverがあります。 ssh://111.222.333.444/などの入力ボックスにsshアドレスを書き込みます。
  4. 表示されるダイアログボックスにユーザー名とパスワードを入力します。
  5. 認証に成功すると、リモートロケーションのhomeに移動します。ファイルをあちこちに自由に移動してください。
6
rushi

他の回答では、rsyncまたはscpを推奨しています。どちらも、リモートマシンでコピーするファイルの場所を知る必要があります。

代わりにsshでできるように、リモートマシンで動き回ることができるようにしたい場合は、sftpを実行します。サーバーへのログインはsshと非常によく似ていますが、いったんhelpと入力してコマンドのリストを取得します。ローカルマシンとリモートマシンの両方で動き回ってファイルを転送できます簡単に行き来できます。

2
Xanthir

sshの中から不可能なのは奇妙です。通常の端末では、zmodemコマンドを使用してファイルを送受信できます。

これはzsshをグーグルアップするのに役立ちました: http://zssh.sourceforge.net/ 。元のsshのラッパーとして実行する必要があります。

1