SSHで、ローカルシステムにmvするにはどうすればよいですか?


129

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

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


どのOSから接続していますか?
ゾレダチェ

回答:


181

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

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

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

scp /tmp/file user@example.com:/home/name/dir

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

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

scp user@example.com:/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 user@server.com:/some/remote/dir /home/youruser/remotecomp

4)楽しむ

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

fusermount -u /home/youruser/remotecomp

ローカルコンピューターがWindowsを実行している場合Windowsの バージョンを見つけることができますscp。たとえば、winscpを参照してください


「リモートマシンの端末」を介してリモートマシンからローカルマシンにファイルをコピーする方法はありますか?あなたの場合、ローカルマシンでターミナルを使用しました。ローカルマシンがwindowsで、リモートがubuntuであり、ssh経由でリモートマシンにログインしている状況について話しています。
チャンドレッシュ

通常はありません。私の知る限り、「リモートマシンの端末」を介してコピーすることは、「ローカルマシン」にSSHサーバーが必要であることを意味します(回答中は意図的にスキップしましたが、「リモートコンピューターがssh接続を受け入れる」ということは、 「リモートコンピューターがsshサーバーを実行しているという事実」と言う)
-josinalvo

ただし、Windows用の「scpクライアント」を見つけることができます。たとえば、winscp.net
eng / download.phpを

sshfsオプションが大好き
フィボコワルスキー

大きなファイルを転送する場合は、ssh overでrsyncを使用しますrsync -P -e ssh /tmp/file user@example.com:/home/name/dir。これは、ファイル転送が途中で失敗した場合、ファイルをscp削除するだけだからです。一方、rsyncこの-Pオプションを使用すると、リモートマシンに不完全なファイルが保持され、転送を再開すると、リモートマシンに既にあるものがローカルマシン上のファイルと一致することを確認し、転送が中断したところから続行します。
ボリス

16

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)manページを参照してください。


10

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

あなたのローカルシェルから:

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

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

追加オプション:

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


6

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

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

素晴らしい答えです!シンプルで実際の質問への回答に最も近い、つまり、sshリモートコンピュータ内からどのようにmvしますか。答えはできません。ローカルコンピューターから実行します。またはこれ!少なくともユーザーにとっては、リモートからローカルに直接ファイルを移動できるように見えるように、エクスプローラからグラフィカルに実行します。
Kvothe

2

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

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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.