コマンドラインからファイルをダウンロードする方法は?ssh経由?


21

リモートサーバーからローカルドライブにファイルをダウンロードし、コマンドラインからダウンロードしたい。また、SSHを介してこれを実行できるようにしたいと考えています。これどうやってするの?

注:リモートサーバーはUbuntu、ローカルサーバーはMac OS X

回答:


29

scp-commandを使用すると、SSHの上で実行されます。例:

scp username@remote.host:/path/to/file localfile

また、別の方法で動作します

scp localfile username@host:/path/remotefile

ユーザー名、パス、およびファイル名は省略できます(ただし:!は省略できません)。

Iainが言ったように、SFTPも機能しますが、私はscpそのcpような使用法を好む傾向があります。


あまり一般的ではありませんが、間違っている場合は修正しますが、本当に必要な場合はscpもリモートからリモートで機能すると思います。– scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD

ディレクトリをコピーできますか?
アンドリュー

それを考え出した... -rディレクトリも再帰的にコピーする
アンドリュー

-pファイルまたはフォルダをコピーするときにオプションを追加することをお勧めしますscp。ファイル属性(タイムスタンプとフラグ)もコピーします。欲しい-pよりも頻繁に欲しい!
joeytwiddle

また、リモート・ツー・リモート使用してローカルホスト経由でルーティングすることができます-3:フラグscp -3 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/archives:あなたはlocalhostのみで見つかった両方のサーバーにアクセスするための秘密鍵を使用する必要がある場合に便利ですscp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/プログレスバーが無効になっている-3
ダン・サンドランド

3

使用することもできますrsync。SSHで動作します。


rsync -avvPファイルやフォルダのお気に入りですが、欠点が1つあります。リモートマシンにインストールする必要があります。
joeytwiddle

接続に問題がある場合-e ssh、ssh経由で接続するようにrsyncに伝えるために渡す必要がある場合があります。
joeytwiddle

3

これにはSFTPを使用します。コマンドラインであり、SSHと同じセキュリティを使用します。


1

SSH scpを使用できない場合やSFTPを使用できない場合tar

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

これは、そうでなければ「爆発」するスパースファイルがある場合にも適しています。

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