背景
PhpStorm導入したんだけどEC2上の開発環境で直接作業したい。(楽に)
でもそのEC2は踏み台サーバー経由しないとアクセスできない
fuseでマウントすれば?
fuseでマウントする方法が割と有名だったのだが、OSがHighSierraだからか、エラーが出てうまくいかない。
カーネルいじればうまくいくとの声もあったがよくわかっていないものには手を出したくないのでやめておく。
やり方
※日本語環境で作業しています
ssh configの設定
まずはssh接続で使用するconfigファイルに多段ssh接続の設定を追記する
jumpが踏み台でmy_project_hostが真に接続したいサーバーである
Host jump
Hostname jump-ip
User jump-user_name
IdentityFile ~/.ssh/jump-key
Host my_project_host
Hostname my_project_host-ip
User my_project_host-user_name
IdentityFile ~/.ssh/my_project_host-key
ProxyCommand ssh -W %h:%p jump
PhpStormの設定
- menu>ファイル>既存ファイルから新規プロジェクトを選択
- Webサーバーはリモートホスト上にあり〜を選択
- プロジェクト名はご自由にどうぞ
- sftpに設定し、sftpホストを設定する。この名前はssh_configのhost名と合わせる
- ルートパスはそのサーバ内における接続したいプロジェクトのホームで良いかと。すでに接続可能になっている場合、自動的にパス候補が表示される
- ユーザー名はsshで接続するユーザー
- 認証タイプは「OpenSSH config and ~ 」にする。これで上で設定したssh/configを利用するようになる
- SFTPの接続テストをしておく。ダメなら設定を見直す。(まずPhpStormなしで繋がるか確認しよう)
- 「Don't check HTTP〜」は踏み台サーバーの場合、HTTPで接続できないことが多いと思うのでチェックしておこう
- あとはディレクトリが表示されるのでルートの設定や同期したいファイルの可否などを細かに設定していこう