パッシブモードをサポートしないWindowsのftp.exeが使えないから検討した代替ツール: NcFTP
仕事でサポートしているお客様の環境がサーバー側からの接続を許可しないネットワークポリシーのため、 バッチ処理の際にパッシブモードでFTPをかける必要がありました。
Windowsのftp.exeはパッシブモードをサポートしないため、確実にサポートしているクライアントとしてNcFTPを紹介した際にサクッと作った資料です。
バッチじゃなくていいなら、GUIのツールを使ってください。パッシブモードをサポートするGUIのFTPクライアントはWindowsにもたくさんあります。
NcFTPとは
NcFTPとは、テキストベースの高機能FTPクライアントソフトです。ニックエフティピーと読みます。Clarified Artistic Licenseで配布されているオープンソースソフトウェアです。
OS標準で提供される「ftp」コマンドと比較すると機能強化が図られています。
Ncftpの主な強化機能は、以下の通りです。
- bookmarkが利用可能
- tabキーによる補完機能
- get、putコマンドでワイルドカードが利用可能
- 接続したFTPサーバを自動保存
- 切断したときのカレントディレクトリを自動保存
- レジューム機能搭載
- ダウンロードの進捗を表示
NcFTPのセットアップ
NcFTPはUnixベースのツールのため、Windows上で動作させるために Cygwinをまず導入します。
Cygwinのインストール
Cygwinは、Windows上にUNIX系OSライクな環境を再現するソフトウェアパッケージです。 GNU GPL(GNU General Public License)に基いてオープンソースソフトウェアとして公開されており、誰でも自由に入手、利用、改変、再配布などすることができる。
Cygwinのサイト(https://www.cygwin.com)より、setup-x86.exeまた、setup-x86_64.exe(64ビットバージョン)をダウンロードし実行してください。
起動すると以下のようにセットアップが進んでいきます。
- インストールするパッケージのソース(通常は Install from Internetを選択)
- インストール先ディレクトリ(デフォルトのままで大丈夫です)
- ダウンロードするパッケージの一時的な保管場所の指定(デフォルトで大丈夫です)
- インターネットへの接続方法(環境に合わせて設定ください)
- ダウンロードするサイトの設定(日本のドメインを持つサイトを適当に選択ください)
- インストールするパッケージの指定(基本的にデフォルトで大丈夫です。次の章を参照してNcFTPを追加してくだい)
NcFTPのインストール
NcFTPは、Cygwinのデフォルトでは導入されません。パッケージを明示的に選択してインストールする必要があります。
上記の図のようCygwinのインストール画面で、検索機能を使ってNcFTPを検索してインストールするよう設定を変更してください。
あとは、Cygwinのインストールを継続すればインストール完了です。
NcFTPの使い方
基本動作
基本的な使い方は ftp を同じです。
(以下の例は、Mac OS Xの環境に導入した NcFTP 3.2.5 での実行結果です)
MacbookPro:~ draemon$ ncftp NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (https://www.NcFTP.com/contact/). ncftp> open -u draemon hogehoge.usa.com Connecting to 9.999.99.9... ProFTPD 1.3.4c.15 Server (GSA FTP Service) [9.999.99.9] Logging in... Password requested by 9.999.99.9 for user "draemon". Password required for draemon Password: ************** User draemon logged in Logged in to hogehoge.usa.com. ncftp /hogehoge-h1/01/draemon > ls Home-Backup/ a2013-01_M09682.nsf web/ ncftp /hogehoge-h1/01/draemon > cd web ncftp /hogehoge-h1/01/draemon/web > ls index.html private/ public/ shared/ ncftp /hogehoge-h1/01/draemon/web > cd public/ ncftp ...1/01/draemon/web/public > ls 2015-06-15_11-32-12.png Streams/ TRIRIGA-Materials/ ncftp ...1/01/draemon/web/public > cd TRIRIGA-Materials/ ncftp ...blic/TRIRIGA-Materials > ls usa-TRIRGIA-BVA-Introduction.pdf ncftp ...blic/TRIRIGA-Materials > passive passive on ncftp ...blic/TRIRIGA-Materials > get usa-TRIRGIA-BVA-Introduction.pdf usa-TRIRGIA-BVA-Introduction.pdf: 2.99 MB 6.08 MB/s ncftp ...blic/TRIRIGA-Materials > close ncftp> bye MacbookPro:~ draemon$
ブックマーク機能
以下の操作では、draemonというユーザーIDで接続した hogehoge.usa.comをgsaという名前でブックマーク登録しています。 これにより、次回から gsa という名前で呼び出せるようになります。
以下の例では、パスワードを保存していませんが、認証情報も含めてブックマークすることが可能です。
MacbookPro:~ draemon$ ncftp NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (https://www.NcFTP.com/contact/). ncftp> open -u draemon hogehoge.usa.com Connecting to 9.999.99.9... ProFTPD 1.3.4c.15 Server (GSA FTP Service) [9.999.99.9] Logging in... Password requested by 9.999.99.9 for user "draemon". Password required for draemon Password: ************** User draemon logged in Logged in to hogehoge.usa.com. ncftp /hogehoge-h1/01/draemon > bookmark Enter a name for this bookmark, or hit enter for "hogehoge": gsa You logged into this site using a password. Would you like to save the password with this bookmark? Save? [no] Not saving the password. Bookmark "gsa" saved. ncftp /hogehoge-h1/01/draemon > open gsa Connecting to 9.999.99.9... ProFTPD 1.3.4c.15 Server (GSA FTP Service) [9.999.99.9] Logging in... Password requested by 9.999.99.9 for user "draemon". Password required for draemon Password: ************** User draemon logged in Logged in to hogehoge.usa.com. ncftp /hogehoge-h1/01/draemon >