SSH(SFTP)接続でKUSANAGI上のWordPress本体やテーマ、プラグインをアップデートする方法

By | Date : 2016/05/24 | 1,265 views

カテゴリ : Web開発 WordPress タグ: , , ,

Nia-TN-SDF-A2

こんにちはー!ニアです。

KUSANAGI上でWordPress本体やテーマ、プラグインなどをインストールしたり、アップデートしたりする時は、FTPの接続情報にホスト名やユーザー名、パスワードを入力していくのですが、

ftpconnect

今回はそれをSSH(SFTP)接続でインストールやアップデートする方法を紹介します。

 

1. SSH SFTP Updater Supportを導入しよう

SSH SFTP Updater Supportは、WordPressからSFTP接続で本体やプラグインなどをアップロードを可能にするプラグインです。パスワード認証の他に公開鍵・秘密鍵を使った認証にも対応しています。

まずは、プラグインの新規追加からインストールするか、プラグインのサイトからダウンロードしてサーバーにアップロードします。

プラグインをインストールしたら、有効化します。

本サイトでは、WordPressのバージョンは4.5.2、PHPのバージョンは7.0.2、SSH SFTP Updater Supportのバージョンは0.7.1を使用しています。

 

1.1. 秘密鍵をダウンロード

KUSANAGIのセットアップ時に作成した秘密鍵「kusanagi.pem」をローカルPCにダウンロードしていない時は、あらかじめダウンロードしておきましょう。

 

ここでは、TeraTermのSCP経由で秘密鍵をダウンロードする方法を紹介します。

TeraTermにrootユーザーでログインします(kusanagi.pemの作成時の保存先が「/root」ディレクトリのため)。

メニューバーから「ファイル」→「SSH SCP」を選択します。

sv20

Secure File Copyの画面の下部にあるFromに「/root/kusanagi.pem」を、Toに受信先のファイルパスを入力し、Recieveボタンをクリックします。

scp

これで、kusanagiユーザーの秘密鍵のダウンロードができました。

 

2. SSH(SFTP)接続でKUSANAGI上のWordPressやテーマ、プラグインをインストール or アップデートしてみよう

WordPressやテーマ、プラグインなどをインストールしたり、アップデートしたりする時は、FTPの接続情報画面にて、ホスト名にはSSH接続で使用しているホスト名を入力します。SSHの設定でポート番号を22番以外にしている場合、「ホスト名:ポート番号」とポート番号も含めて入力します。

FTP/SSHユーザー名には「kusanagi」と入力します。

ftpconnect2

ページ下部にあるUpload Private Keyの参照ボタンから、kusanagiユーザーに対応している秘密鍵を選択します。その時、Copy / Paste Private Keyのフォームに秘密鍵の情報が表示されるので、他人に見られないように気を付けましょう!

接続形式で「SSH2」を選択し、開始ボタンをクリックすれば、インストールやアップデートを続行することができます。

ftpconnect3

 

2.1. 対応している秘密鍵のファイル形式

SSH SFTP Updater Supportでは、PuTTY形式(ppkファイル)OpenSSL(pemファイル)に対応しています。

 

2.2. アップデートに失敗した時に確認しておきたいポイント

SSH(SFTP)接続でインストールやアップデートに失敗する場合、以下のポイントをチェックしてみましょう。

  • SSH接続用のポート番号は正しく指定していますか
  • ファイアウォールの設定でSSH接続用のポート番号を許可していますか
  • SSHの設定(sshd_config)で公開鍵・秘密鍵による認証を有効(RSAAuthenticationとPubkeyAuthenticationの値がYesになっていますか
  • kusanagiユーザーに対応している公開鍵を正しいディレクトリ(sshd_configのAuthorizedKeysFileに設定したディレクトリ)に配置していますか
  • FTPの接続情報で入力したホスト名とユーザー名が正しいですか
  • kusanagiユーザーに対応している秘密鍵を選択していますか
  • 秘密鍵はパスフレーズで保護されていませんか

 

2.3. 秘密鍵にパスフレーズが設定されていると、SSH接続に失敗する件

秘密鍵にパスフレーズを設定している場合、FTP/SSHパスワードにそのパスフレーズを入力するのですが、秘密鍵が正しくないというエラーが発生し、接続に失敗します。

ftpconnect4

 

WordPressのドキュメントを見ると、秘密鍵について以下のようなことが書かれていました。

秘密鍵は、パスフレーズの保護なしでの使用が推奨されます。パスフレーズで保護された秘密鍵が正常に動作しないと数多く報告されています。

wp-config.php の編集 – WordPress Codex 日本語版 より引用

 

2.3.1. WordPressからのSSH(SFTP)接続用に、パスフレーズなしの秘密鍵を作成

どうしてもWordPressからSSH(SFTP)接続したい時は、1つの手段として、PuTTYgenを使ってパスフレーズ付きの秘密鍵からパスフレーズなしの秘密鍵を作成して、使用する方法があります。

PuTTYgenを起動して、Loadボタンをクリックし、パスフレーズ付きの秘密鍵を読み込みます。

puttygen

パスフレーズを入力するダイアログが現れるので、秘密鍵に設定しているパスフレーズを入力し、OKボタンをクリックします。

puttygen3

Key passphraseとComfirm passphraseを空欄にして、Save private keyボタンをクリックし、パスフレーズなしの秘密鍵を保存します。保存した秘密鍵は盗まれないように、厳重に保管しておきましょう。

puttygen2

その秘密鍵を使用することで、WordPressからSSH(SFTP)接続することができます。

 

3. おわりに

今回は、SSH(SFTP)接続でKUSANAGI上でWordPress本体やテーマ、プラグインなどをインストール or アップデートする方法を紹介しました。

 

それでは、See you next!

 

参考サイト

 

 

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : ニア(Nia)

紅茶とコーヒーが好きな湘南生まれのプログラマー/ITエンジニアです。主にC#/C++/PHPを使ってプログラミングをしています。趣味は写真撮影と音ゲーです。時々イラストを描いています。プログラミングを勉強している方々と仲良くなりたいです! 興味を持っている分野:UWP/Xamarin/Android Wear/WPF/Windows/Visual Studio/WordPress/KUSANAGI/nginx

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*