LinuxのFTP接続が拒否された場合の対処法
LinuxでFTP接続が拒否された場合の対処方法をご紹介します。
- FTPサーバーが起動しているかの確認: FTPサーバーは起動しており、リッスンポートがファイアウォールにブロックされていないことを確認してください。次のコマンドを使用してFTPサーバーが起動されているか確認できます。
- service vsftpd status
- FTPサーバが起動していない場合は、以下のコマンドで起動できます。
- サービスvsftpdを起動
- FTPサーバー設定の確認:FTPサーバーの設定ファイルの設定が正しいことを確認します。通常、FTPサーバーの設定ファイルは/etc/vsftpd.confにあります。このファイルを編集し、以下が正しく設定されていることを確認してください:
- 匿名アクセスを無効にする # 確保禁用匿名訪問
ローカルユーザーアクセスを有効にする # 启用本地用户访问
ユーザーの書き込み権限を有効にする # 启用用户写入权限
ユーザーの自らのホームディレクトリ内への移動を制限する # 限制用户在其主目录中 - 変更内容を有効にするため、FTPサーバーを再起動
- サービスvsftpdを再起動してください。
- ファイアウォールの設定を確認する: Linuxシステムでファイアウォールが動作している場合、FTP接続をブロックしている可能性があります。ファイアウォールルールでFTPトラフィックが通過できるかどうかを確認します。たとえば、iptablesファイアウォールを使用している場合は、次のコマンドで現在のファイアウォールルールを確認できます。
- iptables -L
- ファイアウォールでFTPトラフィックがブロックされている場合は、次のコマンドを使用してFTP Transmission Control Protocol(TCP)ポート(デフォルトはポート21)を開くことができます。
- iptables -A INPUT -p tcp -m multiport –dports 21 -j ACCEPT
- そして、ファイアウォールルールを再読み込みして変更を有効にする
- service iptables restart
- ローカルユーザでFTP接続している場合、関連するユーザがFTPアクセス権限を持っていることを確認します。ユーザのFTPアクセス権限を確認するには、次のコマンドを使用します。
- grep <ユーザ名> /etc/vsftpd.userlist
- ユーザーが /etc/vsftpd.userlist ファイルに含まれない場合、ユーザーをファイルに追加すると、そのユーザーによる FTP アクセスが許可されます。
- echo “” >> /etc/vsftpd.userlist
- FTPサーバを再起動して変更を反映します。
- vsftpd サービスを再起動する
上記の方法で解決しない場合は、FTPサーバーのログファイル(通常は/var/log/vsftpd.log)を確認して、より詳細なエラー情報を取得し、問題の究明と解決に役立ててください。