ローカルFTPサーバーに接続しようとすると、次のエラーメッセージが表示されます。
$ ftp localhost
ftp: connect to address ::1: Connection refused
ftp: Trying 127.0.0.1 ...
ftp: connect to address 127.0.0.1: Connection refused
ftp: no response from Host
私は次のようにHighSierraMacOSにpure-ftpdをインストールしました。
$ brew install pure-ftpd
そしてこの後、私はそれを始めました:
$ brew services list | grep ftp
proftpd stopped
pure-ftpd started alexandre1202 /Users/alexandre1202/Library/LaunchAgents/homebrew.mxcl.pure-ftpd.plist
vsftpd stopped
Vsftpdとprofptdも試しましたが、問題は同じです。
上記のように、サービスは開始されていますが、ローカル接続も確認し、21ポートが確立またはリッスンされていない場合
#netstat -f inet -tan | grep 21
さらに、システム上のftpサーバーで確認しました
alemacbookpro:~ root# ps aux | grep ftp
root 60696 0.0 0.0 4279600 0 s002 R 6:22PM 0:00.00 grep ftp
alemacbookpro:~ root#
そして、以下を使用して接続しようとすると、LISTENサービスがないことがわかります。
# telnet localhost 21
Trying ::1...
Connection failed: Connection refused
Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused
FTPサーバーをローカルで使用できない理由を理解するための助けに感謝します。
次の手順で問題が修正されました。
1)サービスを停止しました
$ brew services stop pure-ftpd
2)サービスに削除しました
$ brew remove pure-ftpd
3)醸造を更新しました
$ brew upgrade
4)掃除しました
$ brew cleanup
5)再インストールしました
$ brew install pure-ftpd
6)root権限を使用して/etc/pam.d/pure-ftpdの次の行を作成しました。
# pure-ftpd: auth account password session
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
7)pam構成を設定します
Sudo /usr/local/sbin/pure-ftpd -lpam -B
8)サービスを再開しました
$ brew services restart pure-ftpd
9)そしてついに接続が成功しました!
$ ftp localhost
Trying ::1...
Connected to localhost.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 20:42. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
Name (localhost:alexandre1202):
331 User alexandre1202 OK. Password required
Password:
230 OK. Current directory is /Users/alexandre1202
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>