インスタンス接続に関するトラブルシューティング | GPUSOROBAN
本記事ではGPUSOROBAN(高速コンピューティング)のインスタンスへの接続に関するトラブルシューティングについて紹介します。
GPUSOROBANは高性能なGPUインスタンスが低コストで使えるクラウドサービスです。
サービスについて詳しく知りたい方は、公式サイトをご覧ください。
インスタンスの作成・接続方法については、会員登録~インスタンス作成手順の記事をご覧ください。
目次[非表示]
- 1.インスタンスに接続できない場合
- 1.1.インスタンスの起動確認
- 1.2.SSHコマンド・IPアドレス・秘密鍵の確認(コマンドプロンプトの場合)
- 1.3.SSH Configファイル・IPアドレス・秘密鍵の確認(VSCodeの場合)
- 1.4.ポートフォワーディングの確認(コマンドプロンプトの場合)
- 1.5.ポートフォワーディングの確認(VSCodeの場合)
- 1.6.known_hostsの削除
- 1.7.社内ネットワークにおける制限の確認
- 1.8.インスタンスに設定している秘密鍵の確認
- 1.9.Unprotected Private Key Fileの警告がでた場合
- 1.10.VS Codeのエラー画面キャプチャについて
- 2.SSHセッションが途中で途切れる場合
- 3.SSHコマンドが手間な場合
インスタンスに接続できない場合
インスタンスに接続できない場合は、以下のポイントをご確認ください。
インスタンスの起動確認
インスタンスが起動し、IPアドレスが表示されているかを確認します。
SSHコマンド・IPアドレス・秘密鍵の確認(コマンドプロンプトの場合)
SSHコマンドに間違いがないかを確認します。
SSHコマンドは手打ちだと間違えることがありますので、コピー&ペーストすることを推奨します
※ローカルポートフォワード(7860番ポートや8888番ポート等)をする場合、2つ目のターミナルで行うようお願いいたします
1つ目のコマンドプロンプトで実行するコマンド
xx.xxx.xxx.xxxの箇所にインスタンスのIPアドレスが入ります。
-
GPUSOROBANのコントロールパネルに表示されているIPアドレスとSSHコマンドのIPアドレスが一致しているか確認してください。
- コマンド末尾のackey.txtが接続元PCの.sshフォルダに保存したアクセスサーバー用秘密鍵のファイル名と一致しているか確認します。(デフォルトのファイル名はackey.txt)
1つ目のコマンドプロンプト を開いたまま、2つ目のコマンドプロンプトを開き、次のコマンドを実行します。
- コマンド末尾のmykey.txtが接続元PCの.sshフォルダに格納したインスタンス用秘密鍵のファイル名と一致しているか確認してください。(デフォルトのファイル名はackey.txt)
SSH Configファイル・IPアドレス・秘密鍵の確認(VSCodeの場合)
VSCodeで[Ctrl]+[Shift]+[P]を開き、"open ssh config"のキーワードで検索し、[Remote-SSH:Open SSH Configuration File]を選択します。
続けて表示される[C:\Users<ユーザー名>.ssh\config]をクリックします。
ssh configファイルが表示されますので、以下の確認を行います。
- ssh configファイルの[HostName]に記述されている[IPアドレス]と、GPUSOROBANのコントロールパネルに表示されている[IPアドレス]が一致していることを確認します。
- ssh configファイルの[ProxyCommand]のackey.txtが、ローカルPCの.sshフォルダに保存したアクセスサーバー用秘密鍵のファイル名と一致しているか確認します。(デフォルトのファイル名はackey.txt)
- ssh configファイルの[IdentityFile]のmykey.txtが、ローカルPCの.sshフォルダに保存したインスタンス用秘密鍵のファイル名と一致しているか確認します。(デフォルトのファイル名はmykey.txt)
- configファイルに全角スペースが入っていた場合は、[オレンジ色の四角]が表示されます。この場合、全角スペースを削除してください。
WindowsとMac・LinuxのProxyCommandの記述の違い
.ssh configファイルのProxyCommand については接続元PCのOSによって(WindowsとMac・Linux)異なる記述になります。
[ローカルPCがWindowsの場合]
[ローカルPCがMac・Linuxの場合]
ポートフォワーディングの確認(コマンドプロンプトの場合)
インスタンスにコマンドプロンプトで接続し、ポートフォワーディングをするには、2つ目のコマンドプロンプトで対応するコマンドを実行します。
以下、コマンド例になります。
7860番にポートフォワードする場合(Stable Diffusion WebUIなど)
8888番にポートフォワードする場合(JupyterLabなど)
ポートフォワーディングの確認(VSCodeの場合)
Jupyter Lab やDiffusion Web UIやText generation web UIを使用する場合はポートフォワードをします。 LocalForward 8888 localhost:8888は、Jupyter Labを使用する場合に記述します。
LocalForward 7860 localhost:7860は、Stable Diffusion Web UIやText generation web UIを使用する場合に記述します。 ポートフォワードの設定をすることでブラウザ上でアプリケーションをご使用いただけます。
known_hostsの削除
接続元PCでコマンドプロンプト(もしくはVS Codeのターミナル)のコマンドプロンプトを開き、次のコマンドを実行し、known_hostsを削除します。
know_hostsを削除した後に改めてSSH接続のコマンドを実行します。
社内ネットワークにおける制限の確認
社内ネットワークのおいて、プロキシサーバーやファイアウォール等の設定で外部への接続が制限されているケースがあります。
社外のネットワークから接続をトライしてインスタンスに接続できる場合、社内ネットワークで制限されている可能性が高いですので、社内のネットワーク管理者へご確認ください。
インスタンスに設定している秘密鍵の確認
インスタンスに設定されている秘密鍵に一致した秘密鍵を再度ダウンロードし、.sshフォルダに格納します。
コントロールパネルのサイドバーの「インスタンス作成」をクリックし、接続対象のインスタンスのキー列に表示されている秘密鍵名を確認します。(本記事での秘密鍵名は、defaultinskey)
コントロールパネルのサイドバーの「SSHキー」をクリックし、「登録済みSSHキー」の画面から、上記と同じ名前の秘密鍵を表示します。(本記事での秘密鍵名は、defaultinskey)
接続元PCの.sshフォルダに格納されている秘密鍵を開き、暗号の末尾が一致しているかを確認します。(本記事での暗号の末尾は9GEBVk4y7cc=)
接続元PCの.sshフォルダに格納されている秘密鍵を開いたときの暗号の末尾(本記事での暗号の末尾は9GEBVk4y7cc=)
Unprotected Private Key Fileの警告がでた場合
ssh接続の際に、Unprotected Private Key File (保護されていないプライベートキーファイル)の警告がでることがあります。この場合、秘密鍵のパーミッションを設定することで解消します。
コマンドプロンプトで次のコマンドを実行します。
コマンド実行後、Passwordが問われますので、接続元PCにログインしたときのパスワードを入力します。
続いてコマンドプロンプトで次のコマンドを実行します。
コマンド実行後、Passwordが問われますので、接続元PCにログインしたときのパスワードを入力します。
秘密鍵のパーミッションの設定が完了しましたら、SSH接続コマンドを再実行します。
ここまで紹介したポイントをご確認いただき、接続できない場合はGPUSOROBANサポートまでお問い合わせください。
お問い合わせの際はお手数おかけしますが、コマンドプロンプトのエラーの画面キャプチャを送付ください。
VSCodeをご利用の場合は、以下のエラー画面のキャプチャを送付お願いします。
VS Codeのエラー画面キャプチャについて
VS Codeのインスタンス接続によるエラーのお問い合わせの際は下記の3点をご一緒にお送りください。
①VSCodeヘッダーの[View]、[OUTPUT]を順にクリックし、赤枠のプルダウンメニューから[Remore-SSH]を選択して表示されたログ
②.ssh/configファイル
③接続元OS(WindowsやMacなど)の種類
SSHセッションが途中で途切れる場合
長時間プログラムを実行した際に、途中でSSH接続が切断され処理が途中で終了してしまう場合があります。
そのような場合には「screen」コマンドを使用することで、SSH接続が切断された場合でもバッググラウンドでプログラムの処理が継続します。詳しくはSSHセッションが切れてもバックグラウンドで処理を継続する方法の記事をご覧ください。
SSHコマンドが手間な場合
VScodeでconfigfileの設定をするとSSHコマンドを実行せずに、マウスクリックのみでインスタンスに接続できます。
詳しくはVSCodeでインスタンスに接続の記事をご覧ください。
ここまでがインスタンス接続に関するトラブルシューティングの紹介になります。
GPUSOROBAN(高速コンピューティング)は高性能なGPUインスタンスが低コストで使えるクラウドサービスです。サービスについて詳しく知りたい方は、公式サイトをご覧ください。