FreeBSD 5.2.1-RELEASE に TLS な proftpd をインストールし、lftpd で 接続してみるメモ。OpenSSL は標準でインスールされているが、なぜか proftpd を make -DWITH_OPENSSL install すると ports の OpenSSL が要求 されるので、まずそれを入れる。 # cd /usr/ports/security/openssl && make install # cp /usr/local/openssl/openssl.cnf.sample /usr/local/openssl/openssl.cnf # mkdir /usr/local/openssl/proftpd 鍵作成 (パスフレーズなし)。CSR を作成し、自己認証。 # cd /usr/local/openssl/proftpd # openssl genrsa > key.pem # openssl req -new -days 365 -key key.pem -out csr.pem # openssl x509 -in csr.pem -out cert.pem -req -signkey key.pem -days 365 ProFTPD のインストール。 # cd /usr/ports/ftp/proftpd # make -DWITH_OPENSSL install # mkdir /var/run/proftpd # cat <<END >> /usr/local/etc/proftpd.conf <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd-tls.log TLSProtocol TLSv1 TLSRequired off TLSRSACertificateFile /usr/local/openssl/proftpd/cert.pem TLSRSACertificateKeyFile /usr/local/openssl/proftpd/key.pem TLSVerifyClient off </IfModule> ProFTPD 起動。rc まわりが rcNG になったので、proftpd_enable が必要 (?) # echo 'proftpd_enable="YES"' >> /etc/rc.conf # /usr/local/etc/rc.d/proftpd.sh start lftpd で接続テスト。 # cd /usr/ports/ftp/lftpd && make install % lftp -d hoge@localhost Password: *** lftp hoge@localhost:~> ls ---- Connecting to localhost () port 21 <--- 220 ProFTPD 1.2.10rc1 Server (ProFTPD Default Installation) [hostname] ---> AUTH TLS <--- 234 AUTH TLS successful Certificate depth: 0; subject: /C=JP/ST=XX/O=Internet Widgits Pty Ltd; issuer: /C=JP/ST=XX/O=Internet Widgits Pty Ltd WARNING: Certificate verification: self signed certificate ---> USER hoge <--- 331 Password required for hoge. ---> PASS XXXX <--- 230 User hoge logged in. ---> PWD <--- 257 "/usr/home/hoge" is current directory. ---> PBSZ 0 <--- 200 PBSZ 0 successful ---> PRET LIST <--- 500 PRET not understood ---> PASV <--- 227 Entering Passive Mode (127,0,0,1,192,51). ---- Connecting data socket to () port 49203 ---> LIST <--- 150 Opening ASCII mode data connection for file list ---- Closing data socket <--- 226 Transfer complete. (略) lftp hoge@localhost:~> |