2026年8月8日
2026年8月8日
WordPressのSSH2拡張が無効な場合の対処
はじめに
SSH(Secure Shell)は、リモートサーバーと安全な通信を行うための重要なツールであり、これを利用したバックアップやファイル転送など様々な用途があります。WordPressではプラグインを通じてSSH接続を用いることがありますが、その中でも特に「SSH2」拡張が必須となるケースが多くあります。
症状・背景
- プラグインエラー: 特定のプラグインを使用しようとした際に「SSH2拡張が必要」というメッセージが出る。
- 白い画面(Blank White Screen): サイト全体または特定のページで白い画面が表示される。
- バックアップツール不具合: SSHを利用したバックアップツールが正常に機能しない。
- ファイル転送エラー: ファイルをサーバー上へSSH経由で転送しようとした際に、失敗する。
手順・設定方法
ステップ1: PHPのSSH2拡張を有効にする
# SSH接続を利用してサーバーホームディレクトリに移動します。
ssh user@yourserver.com
# PHPのインストール状況を確認します。このコマンドは、PHPがインストールされているディレクトリを表示します。
php -i | grep 'Configuration File'
# SSH2拡張が有効化されていない場合は次のようにして有効化します(Debian/Ubuntuの場合):
sudo apt-get install php-ssh2
# インストール後、PHPの設定ファイル(通常は /etc/php/7.4/apache2/php.ini など)を開きます。
vim /etc/php/7.4/apache2/php.ini
# ファイル内で次の行を探し、コメントを解除します。
;extension=ssh2.so
# ディレクトリを変更してApacheの設定ファイルを開きます(CentOS/RHELの場合)。
cd /etc/httpd/conf.d/
vim php.ini
# 以下の行を追加またはコメントを外します。
extension=/usr/lib64/php/modules/ssh2.so
# 変更が完了したら、保存してサーバーを再起動します。
sudo systemctl restart apache2
ステップ2: PHPのSSH2拡張のバージョン確認と更新
# SSHでサーバーに接続します。
ssh user@yourserver.com
# SSH2のバージョンを確認します。
php -i | grep 'ssh2'
# 最新のPHP SSH2拡張をインストールするには、次のコマンドを使用します(Debian/Ubuntuの場合):
sudo apt-get update && sudo apt-get install php-ssh2
# CentOS/RHELの場合、次のようにして更新を行います。
sudo yum update && sudo yum install php74-php-ssh2
ステップ3: PHPのSSH2拡張をテストする
# テストスクリプトを作成します。ここでは test.php という名前で作ります。
vim /var/www/html/test.php
# 下記の内容をtest.phpに書き込みます。
<?php phpinfo(); ?>
# Apacheサーバーでこのファイルを読み込むため、URLにアクセスします。
http://yourserver.com/test.php
# 上記スクリプトの実行結果からSSH2関連情報を確認します。特に"ssh2"セクションが表示されていることを確認してください。
# SSH2が有効化され正常に動作している場合は、次のように表示されます。
extension=ssh2.so
# 次に、プラグインやその他の機能の動作をテストしてみましょう。
注意事項
- セキュリティ上の注意: SSH2拡張を有効化する際には、SSH接続自体も強固な設定にしておくことが重要です。パスワード認証は避けて鍵ベースの認証を使用することをおすすめします。
- パフォーマンス/運用上の注意: PHPの拡張機能を追加すると、サーバーの負荷が増える可能性があります。定期的にサーバーモニタリングを行い、必要に応じてリソースの最適化を行ってください。
まとめ
1. SSH2の確認: SSH2拡張が有効になっていることを確認し、必要な設定を実装してください。
2. PHPの更新: PHPとSSH2のバージョンを最新に保つことで、セキュリティやパフォーマンスを向上させることができます。
3. テスト環境でのチェック: 実際の運用前に、SSH2関連機能が問題なく動作するか確認してください。
4. セキュリティと監視: SSH接続は常に安全に維持し、サーバーの状態を定期的にモニタリングしましょう。
関連記事: