今まで、サーバーから、デスクトップPCへのファイルのダウンロードや、サーバーへのアップロードは、WindowsアプリのWinSCPを使ってきました。その他のサーバー作業はターミナルでコマンドを打つ方法で分けていました。 しかし、WinSCPで行うとファイルサイズが大きいと時間がかかる不具合もあり、何とかならないか調べた所、SCPコマンドをターミナルで打てば、同じことが出来る事が判明しました。・・・今更ながらと思っています。
テストサーバーからのファイルのダウンロード
$ scp root@<サーバーのIPアドレス>:/home/[user_name]/[file_name] ~/ root@<サーバーのIPアドレス>'s password: <ーーーパスワード入力 [file_name] 100% 243MB 11.1MB/s 00:22 $
上記の様に、243MBのファイルが22秒でダウンロード出来ています!
公開サーバーへのファイルのアップロード
$ scp ~/[file_name] [user_name]@<サーバーのIPアドレス>:/home/[user_name]/ [file_name] 100% 243MB 11.1MB/s 00:22 $
公開サーバーからのファイルのダウンロード
$ scp [user_name]@<IP Address>:/home/[user_name]/[file_name] ~/Desktop [file_name] 100% 243MB 11.1MB/s 00:22 $
ディレクトリが深い場合
ダウンロード先が深いディレクトリに有る時は、予め目的のディレクトリに、移動してから実行すると確実です。
$ cd ./[directory-1]/[directory-2]/・・・/ $ scp [user_name]@<IP Address>:/home/[user_name]/[file_name] ./ [file_name] 100% 243MB 11.1MB/s 00:22 $
公開サーバーは、ルーターのWAN側にあり、操作しているPCはLAN側にあります。又、公開サーバーへのSSH接続は鍵認証が必要です。上記の操作は、その環境下で行っています。いずれも243MBのファイルが22秒で転送が出来ています。PCの作業ディレクトリの下には鍵のファイルがありますので、特段、パスワードを聞いてきていません! なお、テストサーバーとクライアントPCは同じLAN側にあります。