🐮
SAKURAサーバでGitHub ActionsからFTP接続できない場合の対処法
背景
SAKURAのレンタルサーバを契約し、GitHub ActionsからFTPでデプロイしようとしたところ、以下のエラーが発生しました。
Error: Error: Server sent FIN packet unexpectedly, closing connection.
FTP接続の設定は正しいはずなのに、なぜか接続できない状態が30分ほど続きました。この記事はその原因と対処法の記録です。
原因
SAKURAレンタルサーバは、デフォルトで国外からのFTP接続を制限しています。
GitHub Actionsのランナー(実行環境)は海外のデータセンターに配置されているため、この制限に引っかかって接続できませんでした。
この設定はセキュリティ強化のためのものですが、GitHub Actionsなど海外のCI/CDサービスを利用する場合は制限を解除する必要があります。
対処方法
1. SAKURAのコントロールパネルにログイン
- SAKURAレンタルサーバのコントロールパネルにアクセス
- 契約しているサーバにログイン
2. FTP制限設定を変更
- 左メニューから「ファイルマネージャー」を選択
- 「セキュリティ」タブをクリック
- 「国外IPアドレスフィルタ」セクションを確認
デフォルトでは「有効(制限する)」が設定されています。

- 「無効(制限しない)」に変更
- 「設定する」ボタンをクリック
3. GitHub Actionsで接続確認
設定変更後、GitHub Actionsのワークフローを再実行して接続できることを確認します。
以下は、FTP接続を使用するGitHub Actionsの設定例です。
name: Deploy to SAKURA
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: FTP Deploy
uses: SamKirkland/FTP-Deploy-Action@4.3.3
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: /www/
まとめ
SAKURAレンタルサーバでGitHub ActionsからFTP接続できない場合は、国外IPアドレスフィルタの設定を確認しましょう。
Discussion