PuTTY って、SFTP はあるけど FTPS はない、Python の ftplib には FTP_TLS があるを試してみようかなと。
ただ、クライアントを試すにはサーバが必要なわけで。
今このサイトをたててるロリポップ!では、チカッパプランにならないと SSL も SSH も使えない(*)ので、FTPS を試してみるには、自力でテストサーバを作るとかしないと。
色々選択肢はあって、Windows で動くヤツ、例えば FileZilla、あるいは Cerberus FTP Server でサービス立てる、あるいは、VirtualBox で動いてる linux に vsftpd 動かす、とか、まぁ VPS とか持ってる人はそこでごにょごにょやればいいわけだけど、なんにしてもどれも「お気楽ご気楽」とまではいかないわね。結構親切な説明はあちこち見つかるんで、決して高過ぎるハードルというもんでもないけれど、「ftplib の FTP_TLS をお試したい」だけのためにかけるコストでもないなぁ、と。
あったあった。「a public secure FTP site for testing」。Stack Overflowより。
Rebex というのは何か製品のようだね。このユーザサポートの一環で立てられたテストサーバのようです:
説明にある通りで「read only」なことしか出来ないので、目的によってはダメですが、今はとにかく入り口だけ試したいだけなので、これでも十分。
やってみた:
1 >>> from ftplib import FTP_TLS
2 >>> ftps = FTP_TLS("test.rebex.net")
3 >>> ftps.login("demo", "password")
4 '230 User demo logged in.'
5 >>> ftps.prot_p()
6 '200 PROT command successful.'
7 >>> ftps.retrlines('LIST')
8 drwxrwxrwx 1 user group 0 Feb 25 2014 pub
9 -rw-rw-rw- 1 user group 403 Apr 08 2014 readme.txt
10 '226 Transfer ok.'
11 >>> ftps.quit()
12 '221 Goodbye.'
13 >>>
まぁワタシの場合は、チカッパプランにはそのうち乗り換えるつもりですけど、その場合も別に FTPS せずに普通に scp 使いそうな気がするんで、これに用があるかどうかはわからないけれど、FTP_TLS で自動アップロードみたいなことをしたい人はいそうだよね。やっぱりレンタルサーバとかが提供する FTP 系 WEB アプリって、なんだかんだ不自由だし。
「チカッパプランにならないと SSL も SSH も使えない」は、早とちり。今なにげに試みてみたらイケた。だったらアレだ、自分専用ミラースクリプトみたいなの書けるな。