SSHを使用してサーバーからファイルをダウンロードする方法 [閉まっている]


749

サーバーからデスクトップにファイルをダウンロードする必要があります。(UBUNTU 10.04)サーバーへのWebアクセスがなく、sshのみです。

それが役に立てば、私のOSはMac OS Xであり、ターミナルとしてのiTerm 2です。


このsftpを試してください: winscp.net/eng/download.php
Nishchit Dhanani

51
なぜこれは話題外ですか?
jsmedmar 2016

4
それはプログラミングの質問ではないからです
ブラック

26
@EdwardBlackは、代わりにunix.stackexchangeに移行された可能性があります
gldraphael

3
これは私のために働きましたsudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993

回答:


1166

端末で次のように入力します。

scp your_username@remotehost.edu:foobar.txt /local/dir

ユーザー名、ホスト、リモートファイル名、ローカルディレクトリを適宜置き換えます。

EC2(または秘密鍵による認証が必要なその他のサービス)にアクセスする場合は、次の-iオプションを使用します。

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir

送信元:http : //www.hypexr.org/linux_scp_help.php


3
私はAmazon EC2に精通していませんが、サーバーへのSSHアクセスがあれば動作します。
Josh1billion、2012

3
上記の例との/間には欠落があると思います。your_username@remotehost.edu:foobar.txt
Eugene S

13
@NiLL scp -i xxx.pem your_username@remotehost.edu:foobar.txt / some / local / directory
Helin Wang

3
@Alexに-rオプションを追加します。
SgtPooki 14年

10
役立つ情報-これをローカルマシンから実行しているのではなく、ダウンロード元の場所から実行していることに気づきませんでした。Horakが求めていたように、〜/は/ Users / admin /のようなユーザーディレクトリにダンプします-私はsshにリモートでログインしていて、なぜ機能しないのか疑問に思いました。
Kai Qing

322

scpコマンドでこれを行うことができます。scpの構文を拡張することにより、SSHプロトコルを使用してシステム間でファイルをコピーしますcp

別のシステムからこのシステムに何かをコピーします。

scp username@hostname:/path/to/remote/file /path/to/local/file

このシステムから他のシステムに何かをコピーします。

scp /path/to/local/file username@hostname:/path/to/remote/file          

あるシステムから他のシステムに何かをコピーします。

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   

5
OPの質問を達成したくて、回答を完全に読まなかった場合、最初のコマンドを実行して、ダウンロードしようとしているリモートファイルを以前に触れた可能性のあるローカルファイルで上書きすることを考えずに、誤ってそれらが誤って発生する可能性がある場合、私はどのように好きですか。おっとっと。
Mr Purple

なぜアクセスがあるのですか?誰かが考えずに "rm -rf /"を実行できますが、それはrmコマンドのユーティリティを減らしませんか?
raj_gt1 2017

1
「Linuxをどのようにアップグレードすればよいのか」という答えが出たと思いますか。「rm -rf /」コマンドを使用するのも良い考えでしょうか?
Mr Purple

2
@MrPurple-警告をありがとう、私はほぼ正確にそれをしました。最初に最も関連性の高いコマンドを表示するように質問を編集しました
Sphinxxx 2018年

96

scpは確かに進むべき道ですが、完全にするために次のこともできます:

$ ssh host 'cat /path/on/remote' > /path/on/local

または

$ cat /path/on/local | ssh host 'cat > /path/on/remote'

これはUUOCですが< /path/on/local ssh host 'cat > /path'、不要な混乱を引き起こす可能性があることに注意してください。

また、2つのホスト間でプロキシする場合:

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'


5
誰かがさまざまな方法で速度テストを行いましたか?どれが一番速いか知りたいです。使用例:ダウンロードする巨大なファイルがあります。
starbeamrainbowlabs 2015

これは実際には.ssh / configで動作しますが、scpはssh構成に従っていないようです

13

SSHサーバーがSFTPサブシステムをサポートしている場合(これはSSHの一部であり、FTP とは関係ありません)、sftpを使用します。そうでない場合は、scpを試してください。

Cyber​​Duckはそれらすべてをサポートしています。


2
彼らのウェブサイト、cyberduck.ch / Cyber​​duck-4.2.1.zip
J-16 SDiZ

それ以来、彼らはソフトウェアを無料に変更したようですが、オプションで任意の金額を寄付することができ、それによりプログラム内から「寄付のプロンプト」が取り除かれます。
マイク

12
これは質問の答えにはなりません。
edwinj

1
それは、Cyber​​duckのSFTPを使用してダウンロードするのに十分簡単です
Miguel Stevens

FileZillaは私にとってはうまく機能し、無料でオープンソースです(そしてFirefoxを作っているのと同じ人が作っています)。Cygwinと同様に。
hanshenrik 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.