使って学ぶAWS

AWSで色々やってみるブログ

VSCODEから踏み台サーバー越しにSSH接続をする

この記事で行っている多段SSHは既にベストプラクティスではないので、Session Managerを使うことをお勧めします。 構成はこちらのQiitaを参照のこと。

多段SSHしたい

機械学習の研究開発用だと、SageMakerのJupyter NoteBookじゃ物足りず、EC2にSSHで入って開発したくなる。僕の使い方が悪いのか・・?開発用にEC2を置くなら、Privateに開発用、Publicに踏み台サーバーを置くといいかなぁと思う。(特に会社とかで使う場合)

要はこういう状態 。

SSH config

VSCODESSHのconfigには下記を書けばOK。 どちらの.pemファイルもローカルのファイルを指定すれば良い。 publicEC2に鍵を置かなくて良い点が安心感。

Host public
  HostName PUBLIC EC2のIP
  User ec2-user
  IdentityFile ****.pem(フルパスで書いたほうが良い)

Host private
  Hostname PRIVATE EC2のIP
  User ec2-user
  IdentityFile ****.pem(フルパスで書いたほうが良い。)
  ProxyCommand ssh -W %h:%p public

VSCODE

あとは直接privateのほうを開くだけ。

EC2の設定どうする

SSHフルオープンが心配な場合は、Public EC2のセキュリティグループでインバウンドで自分のIPを指定すると良い。 さらにPrivate EC2のセキュリティグループのインバウンドに、Public EC2に設定してあるセキュリティグループを設定してあげればこちらも安心。