FTPに入れないエラー「530 Login authentication failed」は、cPanelの定番エラーを疑う

IBMなどのレンタルサーバーをcPanelのコンパネ(WHM)で管理していると、FTPの接続エラーが起きる問題。API経由でcPanel のアカウントを追加すると、一定の確率で「cPanel にはログインできるけど、FTP に接続ができない」という問題が発生するらしい。

参考:cPanel FTP接続のエラー 530 Login authentication failed

FTPソフトで「530 Login authentication failed」とエラーが表示され、ID・パスワードが合っていても接続できない。この問題の対処方法をメモ。

FTP パスワードの同期

cPanel WHM にログインして root 権限で下記実行。

/scripts/ftpupdate

cPanel WHM で設定しているアカウント数が多いとコマンドが終了するまで、2~3分かかる。

ポイント

  • /scripts/ftpupdate でFTP のエラーが改善される確率は半々くらい。
  • アカウントの移行・マイグレートした時などは、このコマンドが必須。
  • ftpupdate は特に害はないので、FTP のエラーがでたらとりあえず実行。

Apache設定ファイルのリビルド

cPanel WHM のWeb サーバの設定ファイルは

/usr/local/apache/conf/httpd.conf

にあるので、FTP 接続できないアカウントのユーザ名で該当のディレクティブを確認。
バーチャルドメインの設定が上手くいってない場合には、下記コマンド実行してみる。

/scripts/rebuildhttpdconf

rebuildhttpdconf コマンドでも設定が直らないようであれば、
該当ユーザの以下のディレクトリを削除して再度rebuildhttpdconf を実行する。

/var/cpanel/userdata/
/var/cpanel/users/

FTP サーバの再起動・設定確認

とりあえず、稼働しているProFTPD、Pure-FTPなどのFTP サーバを再起動してみる。
その後、パッシブモードとFirewallの動作を確認。

PureFTP の場合だと、/etc/pure-ftpd.conf に下記設定し

PassivePortRange 49152 65534

を設定して、以下のコマンドを実行するとPassive が有効になる。

/usr/local/cpanel/scripts/restartsrv_ftpserver
rm -f /var/cpanel/conf/pureftpd/main.cache
echo "PassivePortRange: 49152 65534" >> /var/cpanel/conf/pureftpd/main

あとは、iptables の設定が必要なので、以下を実行。

iptables -I INPUT -p tcp --dport 49152:65534 -j ACCEPT
service iptables save

アカウントの再作成

cPanel のサポートに相談したり、色々と試したけど、現状だと上記の方法で直らなかったら、アカウントを再作成するしかない。
利用するIP アドレスとアカウント名が同じだと、問題が解消されないので、IPとアカウント名を変更して該当のドメインを設定すると正常にFTP でアクセスできる。

ちなみにパスワードを変更する場合には、chpass コマンド

/scripts/chpass

まとめ

この問題は、cPanel WHM がアップデートされたタイミングでも起きたりするので何かと厄介。
cPanel のサポートとやり取りをしたこともあるけど、ある程度の確率で発生するのは仕方がないという感じ。

大量にアカウントを追加すると 0.5% くらいの確率で発生している気がする。

この記事を書いた人

mojigumi

「もじぐみ」の代表、コウです。
専門は企画・出版・編集・印刷、Webデザインと管理。最近はブログ、動画、3DCG、AR、LINEスタンプ等のコンテンツ配信にも力をいれ、自分自身もランニングアートでコンテンツ化に努めています。