3流プログラマのメモ書き

元開発職→現社内SEの三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

PuTTY,TeraTermでファイル転送する方法

最近まで知らなくて恥ずかしいんですが、TeraTermPuTTY等のターミナルソフトでSSH接続時に、リモート先のLinuxとファイルの送受信ができるようです。
これが出来れば、サーバメンテナンス時に、いちいちFTP用意したり、Sambaを立てたりする必要がなくなります。

PuTTYの場合

PuTTYの場合、putty.exeと同じフォルダにある pscp.exe をコマンドプロンプトから使うことでファイルの送受信が可能です。
(SCPというプロトコルでやり取りするようですね)

一つのファイルの送信(WindowsLinux)

pscp.exe -c:\hoge\upload.txt userhoge@server:.

これで、upload.txtが userhoge ユーザのホームディレクトリにアップロードされます。
最後の"."はアップロード先がユーザのホームディレクトリにするよっ って意味だそうです。

一つのフォルダの送信(WindowsLinux) フォルダをアップロードする場合は以下のように -r オプションをつければいいようです。
また、アップロード先のフルパスも以下のように指定できます。

pscp.exe -r c:\hoge\uploaddir userhoge@server:/home/hoge/test

一つのファイルの受信(LinuxWindows)

pscp.exe userhoge@server:upload.txt .

Linux上のホームディレクトリのupload.txtをカレントディレクトリに落とします。

一つのフォルダを受信(LinuxWindows)

pscp.exe -r userhoge@server:/home/hoge/test .

TeraTermの場合

TeraTermの場合も、SCPが使えるようです。
[ファイル]メニューの[SSH SCP]からアップロード、ダウンロードができます。

また、ZMODEMと言ったプロトコルを使う方法もあるようです。

ZMODEMを使ってLinux上のファイルをダウンロードする場合、Linux側で以下のコマンドを叩きます。

sz /home/hoge/download.txt

これで、Linux側が待機中になるのでTeraTerm側で、[ファイル]→[転送]→[ZMODEM]→[受信] でTeraTermのプログラムファイルがあるフォルダにダウンロードされます。

逆にアップロードする場合は、以下のコマンドで待機中になるので、後は、[ファイル]→[転送]→[ZMODEM]→[送信]でアップロードします。

rz

参考:
PuTTY(pscp.exe)を使ってSSH経由でWindowsとLinuxの間でファイルコピーを行う方法 - 情報科学屋さんを目指す人のメモ
TeraTerm de ZMODEMファイル転送 | Rain or Shine
Tera Termを使っています。 - Yahoo!知恵袋