Pycharmのリモートインタプリタ実行(多段SSH環境)
Apr 10, 2020 16:23 · 1133 words · 3 minute read
Pycharm Professionalを使っている場合、リモートのPythonインタプリタを利用することができる。(ファイルをリモートのサーバにあげてそこで実行する) この方法については公式チュートリアルを参考にすれば良いが、踏み台サーバを経由した多段SSHの場合の設定方法がわからなくて戸惑った。 なのでその備忘録を今回は書いていく。
多段SSHの場合はポートフォワードを設定する
VScodeなどの場合は特に意識せずに接続できたが、Pycharmの場合には多段SSHにデフォルトで対応していないようだ。なのでlocalhostの特定のポートに対しての通信を踏み台サーバから目的のサーバへ中継するという設定を行う。
設定方法
~/.ssh/configに以下のような設定ファイルを作成する.
Host sshTest
HostName "踏み台サーバのホスト"
User "踏み台サーバのユーザ名"
IdentityFile "秘密鍵のパス"
LocalForward 14321 "接続先のアドレス":22
LocalForwardの部分の「14321」というポートは好きなポートの値を設定する。 これでconfigファイルの設定は完了。そして踏み台サーバへssh接続しておく。
ssh sshTest
ここからはPycharmの設定を行ってゆく。
「Pycharm>Preferences>Build,Execution,Deployment>Deployment」を選択。赤丸の+ボタンからSFTPで新しい接続先を作成する。名前は任意でOK。
この部分を以下のように設定し、「TEST CONNECTION」で接続できているかを確認する。
Hostはlocalhost,Portはssh/configに設定したものと同じポート、UsernameとPasswordは目的のサーバのものをそれぞれに入力する。
「preference>Projet>Project Interpreter」を選択して右上のドロップダウンから「add」を選択して新たなインタプリタの追加を行い、「SSH Interpreter>Existing server configuration」よりさっき作成したものを選択すれば準備が完了する。
確認
「Run>Edit Configuration」より、Pythonのインタプリタや実行するファイルのディレクトリが正しく設定されているかを確認する。
問題がなければ「apply」を選択し、実行する。
うまくいかない場合
- 実行するファイルのディレクトリがおかしくなっていることがあったので、上のように確認をもう一度する。
- Connection Errorとなり、踏み台サーバへのSSHを忘れていないか確認する。
まとめ
Pycharmで踏み台サーバを経由した多段SSHの環境を構築できた。