happy_ryo

2014.12.01

踏み台サーバーを使っているときの IntelliJ IDEA の Rmote Host の設定(AdventCalendar1日目)

おひさしぶりです、iOS担当 happy_ryo です。

せっかくエンジニアブログをやっているんだし、AdventCalendar をうちでもやってみよう、ということで AdventCalendar はじめました。

ということで、今回は iOS とはあまり関係の無い、 IntelliJ IDEA から踏み台サーバーを経由した Web サーバーへファイルを SFTP を利用して転送するときの設定について書こうと思います。(Mac用)

ssh の設定をする

ssh config を書く

  • Host : 設定の名前
  • HostName : ログインするホスト名
  • User : ユーザー名
  • LocalForward : 指定したポートへの通信を、設定した先へ
  • IdentityFile : 秘密鍵の場所

LocalForward に指定したポート番号は、 IntelliJ 側の設定でも利用するので控えておいて下さい。
これを書いてから $ ssh idea と叩いて ssh 接続を行うと、localhost:10111 にアクセスした時に10.10.10.22:22 に転送されます。

踏み台サーバーを経由して Web サーバーにファイルを転送する

転送用の設定を行う

Remote Host ウインドウが開いて居ない場合は、メニューの Tools→Deployment→Browse Rmote Host から開く事が出来ます。
Remote Host ウインドウを選択しながら Shift + Enter を押す事で設定画面を開く事が出来ます。設定画面の右上の Add ボタンを押すと新しい接続先の設定を作成する事が出来るので、接続名と接続方法(今回はSFTP)を選択して OK を押す事で新しい接続先が画面に追加されます。

追加された接続先を選択し、各設定を画像のように埋めていきます。

Deployment

以下、設定項目の簡単な説明です。

  • Type : SFTP のまま
  • SFTP host : localhost
  • Root path : サーバーの設定に従って下さい
  • User name : 踏み台サーバーから Web サーバーへの接続用ユーザー名
  • Auth type : 無味台サーバーから Web サーバーへの認証の方式を選択
  • Key Pass : 秘密鍵は Web サーバーに接続するのに必要な物をしていする

最後に

後はMappings のタブで、ローカルとサーバーのフォルダのマッピングの設定を行うと、編集しているファイルをサーバー上に IntelliJ 上から右クリックメニューからやショートカットを利用してデプロイできるようになります。複数の接続先が設定されている場合でも接続先を指定してデプロイする事が可能です。 $ ssh idea の接続が切れていると、失敗するので気をつけて下さい。

(おまけ)踏み台サーバー経由で DB に IntelliJ からアクセスする

転送用の設定を行う

こうする事で $ ssh idea と叩いて ssh 接続を行うと、localhost:10112にアクセスした時に、10.10.11.22:3306 に転送されるようになります。

DB への接続設定をする

IntelliJ で Database (メニューを見つけられないときは Shift * 2 をした後で Database と入力すれば出て来ます)の設定を行うと踏み台サーバー越しにDBを見る事が出来る上に、SQL を書く時テーブル名やカラム名の補完が効くようになったり、IntelliJ 上から直接 SQL を叩いたり、DB 上の値を GUI を利用して書き換える事が出来るようになります。

各種 DB に対応しているため、詳しい設定内容は割愛しますが Database URL の項目で、ホスト名の部分を localhost:10112 にすると 10.10.11.22:3306 に転送される事を意識して設定すれば、上手く設定出来ると思います。

AdventCalendar なので、何事も無ければ明日も続きます。
明日の担当もぼくです。