一つのターミナルでインスタンスにssh接続する方法

はじめに

 HGAのインスタンスに接続する際は通常、①アクセスサーバ(踏み台サーバ)にssh接続されている状態で、②インスタンスにssh接続する必要があります。つまり、一つのインスタンスに接続するのにターミナルを2つ立ち上げる必要があります。実際にインスタンス制御に使うターミナルは一つで十分なので、不便に感じる方も多いと思います。その不便さとお別れする方法についてです。
 本記事では、一つのターミナルだけでインスタンスに接続する方法を解説します。基本的にはWindows10ユーザを対象にしていますが、ファイルパスの修正をすればMacやLinuxユーザの方でもご利用いただけます(疑問点ございましたらお気軽にお問合せください)。とても便利な方法なのでぜひお試しください!

.ssh/configの編集

 インスタンス作成時にC:/[ユーザ名]/.sshフォルダにインスタンスやアクセスサーバの鍵を保存したと思います(参考:https://gpu-advance.highreso.jp/blog/?p=232)。このフォルダにconfigというファイルを作成し、下記の内容を貼り付けてください。
※すでにconfigファイルがある場合は一番下に追記します。

Host instance_host_name
  HostName [インスタンスのIPアドレス]
  User user
  IdentityFile .ssh\mykey.txt
  ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p -i .ssh\ackey.txt -p 30022 user@202.122.50.154

なお、インスタンスのIPアドレスはHGAのインスタンス管理画面から確認することができます(下図)。また、instance_host_nameは任意です(後ほど使用します)。

インスタンスのIPアドレス

インスタンスへの接続

  configの編集が終わったらターミナルを開いてインスタンスに接続します。
下のコマンドで、configで設定したhost名に対してssh接続することができます。

ssh instance_host_name
インスタンスへの接続

接続完了です。とても簡単ですね!!!

注意

 configファイルのProxyCommandと箇所では、アクセスサーバへの接続コマンドを記載しています。C:\Windows\System32\OpenSSH\ssh.exeという箇所はWindows10以外のOSではただのsshとして問題ありません。どうやらWindow10のバージョン1809以降はバグにより、このように記載しないとダメなようです。

 いかがでしたでしょうか。
弊社クラウドGPUサーバのご利用をご検討中の方はhttps://gpu-advance.highreso.jp/?adid=blog_1009からお気軽にお申込みやお問い合わせください。最初の3日間はお試し利用でご利用料無料です!