Windows ←→ UNIX系OS ファイル転送方法


私が知っている ssh を通して安全に Windows から UNIX系OS にファイルを転送する方法は
  1. Windows 上で使える scp (Secure Copy)を使用する. winscp
  2. TTSSH から zmodem を使用する.
の二つです (私は現時点で zmodem の方しか使ったことがありませんが). 以下に豊田英司氏から教えて頂いた, zmodem を用いた windows ←→ でのファイル転送方法を掲載します.
Special Thanks to TOYODA san.
windows ←→ UNIX で安全に(パスワード漏洩の危険を冒さず)
ファイル転送をしたいが OTP は計算したくないという向きに、
zmodem という古代のテクノロジを紹介します。

zmodem というのは tty 端末とホストの間でファイルを行うプロトコルの
一種 (類似製品に xmodem, ymodem, ちょっと毛色は違うが kermit がある) です。
プロトコルの比較をすると一長一短ですが、
	xmodem		ほとんどの端末ソフトが対応
			ただし低速だし、tty ドライバが Ctrl-S を食べると
			問題を起こすことがある
	ymodem		xmodem の改良版。高速だが使えないソフトが多い
	zmodem		けっこう高速だし、Ctrl-S 問題も回避されている
	kermit		低速だがもっとも確実に転送が行える
といったところでしょうか。

zmodem といっても実装にはいろいろあるのですが、
ここでは近頃身近に用いられている
Windows + TeraTermPro/SSH ←→ Debian GNU/Linux + lrzsz パッケージの
組み合わせを考えます。

■ 準備

・Windows 側

	なにもしなくてかまいません。TeraTerm Pro には ZMODEM, XMODEM, YMODEM,
	Quick-VAN, B-Plus の送受信機能があります。

・Linux 側

	lrzsz パッケージを入れましょう。
	# apt-get install lrzsz

■ zmodem による Windows → Linux ファイル転送

	・TTSSH を使って Windows から Linux 機にログイン
	・Linux のほうのシェルから rz コマンドを起動
	
		$ rz
	
	・TeraTerm の [File|Transfer|Zmodem|Send] メニューを押すと
	  送信ファイルを選択するダイアログが開く
	・送信したいファイルを選んで Enter

■ zmodem による Linux → Windows ファイル転送

	・TTSSH を使って Windows から Linux 機にログイン
	・Linux のほうのシェルから sz コマンドを起動
	
		$ sz filename
	
	・TeraTerm の [File|Transfer|Zmodem|Receive] メニューを押すと
	  受信開始
	・ファイルは直前に送信したファイルのあるディレクトリに作成される
	  もし TeraTerm を起動してから送信していなければ
	  C:\PROGRA~1\TTERMPRO に作成される

mym@ep.sci.hokudai.ac.jp