FTPソフト「FileZilla(ファイルジラ)」でmixhostにSFTP接続してファイル転送するための設定方法をまとめた記事です。
ブログ関連のファイル転送ではFTPS接続を使っているのですが、公開鍵認証方式でのSFTP接続も使えるようにしておいた方がいいかなということで設定してみました。
SFTP接続の大まかな手順
- サーバー側でのSSH設定
- 公開鍵の生成
- 公開鍵の許可/有効化
- 秘密鍵ファイルをダウンロード
- OpenSSH形式 / PPK形式
- FTPソフト側の設定
- 秘密鍵ファイルを設定/登録
SSH技術を使ったSFTPの「公開鍵認証」方式では「公開鍵」と「秘密鍵」のペアを照合して認証する。
そのため、設定手順は「サーバー側で公開鍵を生成」→「照合のための秘密鍵をFTPソフトに設定」が基本の流れとなる。
FTPソフトは「FileZilla」「WinSCP」などを利用可能。
サーバーのSSH設定
ということで、まずはサーバー側のSSH設定を開始!
cPanelのSSH設定にアクセス
「マイページ – mixhost
SSH アクセスページ
「SSH アクセス」のページで「SSHキーの管理」をクリック。
新しいキーの生成
SSHキーの管理ページで「新しいキーの生成」をクリック。
既に公開鍵が作られている場合は、ここに「公開キー/秘密キー」のリストが表示される。
公開キーの設定
- Key Name
- 何でもOK、初期値の「id_rsa」でも可
- 既に同名のファイルがある場合は適当に変更
- キーのパスワード
- パスワード生成ツールの使用推奨
- 暗号強度が強くなるようになるべく長く・複雑に
- パスワードはメモ/コピーして保存する
- キーの種類
- DSA / RSAの2種類
- RSAを選択
- キーサイズ
- 1024 / 2048 / 4096 の3種類
- キーサイズが大きいほど暗号強度が高いので4096を選択
設定が終わったら「キーの生成」をクリック。すると、「キーの生成が完了しました」と表示されるのでSSHキーの管理ページに戻る。
パスワード生成ツールの使用
パスワード生成ツールを使う際の設定について。
まずは「詳細オプション」でメニューを開いて設定。
- 長さ
- 10~18で設定可
- 一番長い18に設定
- 英字
- 「両方」を選択
- 大文字と小文字が含まれるようになる
- 英字以外
- 「両方」を選択
- 数字と記号が含まれるようになる
暗号強度が高まるように「長さ18」で「大文字/小文字」と「数字/記号」が含まれるようにしておけばOK。
「パスワードの生成」をクリックすると自動でパスワードが生成される。
「このパスワードを安全な場所にコピーしました。」にチェックを入れると、「パスワードの使用」ボタンをクリックできるようになって、入力欄に自動で書き込んでくれる。
キーの許可/有効化
SSHキーの管理ページに先程生成した「公開キー」が表示されているがこのままだと使えないので、「管理」→「Authorize(許可)」→「認証ステータス:authorized」して使える状態にする。
秘密キーのダウンロード
SSHキーの管理ページの「秘密キー」項目にある「表示/ダウンロード」にアクセス。
ページを下にスクロールしていき、SSHキーをそのままダウンロードするか、PPK形式に変換してダウンロードする。
PPK形式に変換する際は、キーを生成した際のパスワード(パスフレーズ)を入力して「変換」ボタンを押せばいい。
サーバー側での設定は「キーの生成&ダウンロード」って感じですな。
あとはFileZillaに秘密鍵の設定をするだけです。
FileZillaのSFTP設定
FileZilla側のSFTP設定では大きく2種類の方法がある。
- 秘密鍵ファイルを予めFileZillaに登録する
- 秘密鍵ファイルをFileZillaに登録せずファイル指定して読み込む
秘密鍵ファイルを登録する場合
FileZillaのメニューから「編集→設定→SFTP」と移動。
「鍵ファイルの追加」ボタンをクリックして、ダウンロードしておいた秘密鍵ファイルを選択。
この際、秘密鍵ファイルがPPK形式でない場合は、「鍵ファイルの変換確認&パスワードの入力」が表示される。
パスワードを入力して「OK」ボタンを押せば、元の秘密鍵ファイルをPPK形式に変換して登録してくれる。
その後は、メニューの「ファイル→サイトマネージャー」から「新しいサイト」を選択してエントリーを作成。
- プロトコル
- SFTP – SSH File Transfer Protocol
- ホスト
- プライマリドメイン、FTP/FTPSホスト名
- cPanelの一般情報にある「~.mixh.jp」
- ポート
- 空欄でOK
- 空欄の場合は自動で22が使われる
- ログオンタイプ
- 通常
- ユーザー
- ユーザー名
- cPanelの一般情報で確認可
- パスワード
- 空欄
設定が済んだら「OK」ボタンをクリックで基本設定はひとまず完了!
秘密鍵ファイルを登録しない場合
秘密鍵ファイルを登録しない場合は、「ログオンタイプ」を「鍵ファイル」にして、「鍵ファイル」欄にダウンロードしたPPK形式の秘密鍵ファイルを指定すればOK。
接続時の設定/入力
サイトマネージャーの設定が終わったら「接続」ボタンで接続開始!
サーバー側のなりすましの可能性を警告する「不明なホスト鍵」の情報ダイアログが毎回表示されるのが邪魔くさいなら「常にこのホストを信用し、この鍵をキャッシュに追加」にチェックを入れる。
その後、パスワードの入力ダイアログが表示されるので、秘密鍵のパスフレーズを入力してOKボタンを押せば接続完了!
「FileZillaが終了するまでパスワードを記憶」にチェックを入れておくと、FileZillaを終了しない限りはパスフレーズの入力を省ける。
まとめ
WordPress用のファイル転送ならFTPSでも特には問題無さそうですが、SSHも使えるようにしておいたほうがいいかなということでSFTPの設定を試してみました。
セキュリティ的には違いはあるようですが、FTPSとSFTPのどちらでも良さそうな雰囲気です。
公開鍵・秘密鍵の設定・ダウンロードなどが少し手間でしたが、一度設定してしまえば後は簡単に使えました。ただ、接続毎のパスワード入力が若干面倒くさいかも。
SFTP接続の使い方は他のレンタルサーバーでも大体似たようなものなので、乗り替えた際にも役立ちそうな予感!シェアも兼ねての備忘録記事でした、お疲れ様でした!