インスタンス接続に関するトラブルシューティング | GPUSOROBAN

本記事ではGPUSOROBAN(高速コンピューティング)のインスタンスへの接続に関するトラブルシューティングについて紹介します。

GPUSOROBANは高性能なGPUインスタンスが低コストで使えるクラウドサービスです。
サービスについて詳しく知りたい方は、公式サイトをご覧ください。

インスタンスの作成・接続方法については、会員登録~インスタンス作成手順の記事をご覧ください。

目次[非表示]

  1. 1.インスタンスに接続できない場合
    1. 1.1.インスタンスの起動確認
    2. 1.2.SSHコマンド・IPアドレス・秘密鍵の確認(コマンドプロンプトの場合)
    3. 1.3.SSH Configファイル・IPアドレス・秘密鍵の確認(VSCodeの場合)
      1. 1.3.1.WindowsとMac・LinuxのProxyCommandの記述の違い
    4. 1.4.ポートフォワーディングの確認(コマンドプロンプトの場合)
    5. 1.5.ポートフォワーディングの確認(VSCodeの場合)
    6. 1.6.known_hostsの削除
    7. 1.7.社内ネットワークにおける制限の確認
    8. 1.8.インスタンスに設定している秘密鍵の確認
    9. 1.9.Unprotected Private Key Fileの警告がでた場合
    10. 1.10.VS Codeのエラー画面キャプチャについて
  2. 2.SSHセッションが途中で途切れる場合
  3. 3.SSHコマンドが手間な場合


インスタンスに接続できない場合

インスタンスに接続できない場合は、以下のポイントをご確認ください。


インスタンスの起動確認

インスタンスが起動し、IPアドレスが表示されているかを確認します。

ssh01



SSHコマンド・IPアドレス・秘密鍵の確認(コマンドプロンプトの場合)

SSHコマンドに間違いがないかを確認します。
SSHコマンドは手打ちだと間違えることがありますので、コピー&ペーストすることを推奨します

※ローカルポートフォワード(7860番ポートや8888番ポート等)をする場合、2つ目のターミナルで行うようお願いいたします


1つ目のコマンドプロンプトで実行するコマンド
xx.xxx.xxx.xxxの箇所にインスタンスのIPアドレスが入ります。

  • GPUSOROBANのコントロールパネルに表示されているIPアドレスとSSHコマンドのIPアドレスが一致しているか確認してください。

  • コマンド末尾のackey.txtが接続元PCの.sshフォルダに保存したアクセスサーバー用秘密鍵のファイル名と一致しているか確認します。(デフォルトのファイル名はackey.txt)
ssh -L 20122:xx.xxx.xxx.xxx:22 -l user as-highreso.com -p 30022 -i .ssh/ackey.txt

ssh02


1つ目のコマンドプロンプト を開いたまま、2つ目のコマンドプロンプトを開き、次のコマンドを実行します。

  • コマンド末尾のmykey.txtが接続元PCの.sshフォルダに格納したインスタンス用秘密鍵のファイル名と一致しているか確認してください。(デフォルトのファイル名はackey.txt)
ssh user@localhost -p 20122 -i .ssh/mykey.txt

ssh03


SSH Configファイル・IPアドレス・秘密鍵の確認(VSCodeの場合)

VSCodeで[Ctrl]+[Shift]+[P]を開き、"open ssh config"のキーワードで検索し、[Remote-SSH:Open SSH Configuration File]を選択します。 instance error


続けて表示される[C:\Users<ユーザー名>.ssh\config]をクリックします。
instance-error


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ファイルに全角スペースが入っていた場合は、[オレンジ色の四角]が表示されます。この場合、全角スペースを削除してください。

instance-error


WindowsとMac・LinuxのProxyCommandの記述の違い

.ssh configファイルのProxyCommand については接続元PCのOSによって(WindowsとMac・Linux)異なる記述になります。

[ローカルPCがWindowsの場合]

ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p -i .ssh\ackey.txt -p 30022 user@as-highreso.com

stablediffusion

[ローカルPCがMac・Linuxの場合]

ProxyCommand ssh -W %h:%p -i ~/.ssh/ackey.txt -p 30022 user@as-highreso.com

stablediffusion


ポートフォワーディングの確認(コマンドプロンプトの場合)

インスタンスにコマンドプロンプトで接続し、ポートフォワーディングをするには、2つ目のコマンドプロンプトで対応するコマンドを実行します。

以下、コマンド例になります。

7860番にポートフォワードする場合(Stable Diffusion WebUIなど)

ssh  -L 7860:localhost:7860 user@localhost -p 20122 -i .ssh/mykey.txt


8888番にポートフォワードする場合(JupyterLabなど)

ssh  -L 8888:localhost:8888 user@localhost -p 20122 -i .ssh/mykey.txt  


ポートフォワーディングの確認(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を使用する場合に記述します。 ポートフォワードの設定をすることでブラウザ上でアプリケーションをご使用いただけます。

 LocalForward 8888 localhost:8888
 LocalForward 7860 localhost:7860

stablediffusion



known_hostsの削除

接続元PCでコマンドプロンプト(もしくはVS Codeのターミナル)のコマンドプロンプトを開き、次のコマンドを実行し、known_hostsを削除します。
know_hostsを削除した後に改めてSSH接続のコマンドを実行します。

ssh-keygen -R [localhost]:20122

ssh04


社内ネットワークにおける制限の確認

社内ネットワークのおいて、プロキシサーバーやファイアウォール等の設定で外部への接続が制限されているケースがあります。
社外のネットワークから接続をトライしてインスタンスに接続できる場合、社内ネットワークで制限されている可能性が高いですので、社内のネットワーク管理者へご確認ください。


インスタンスに設定している秘密鍵の確認

インスタンスに設定されている秘密鍵に一致した秘密鍵を再度ダウンロードし、.sshフォルダに格納します。

コントロールパネルのサイドバーの「インスタンス作成」をクリックし、接続対象のインスタンスのキー列に表示されている秘密鍵名を確認します。(本記事での秘密鍵名は、defaultinskey)

ssh08


コントロールパネルのサイドバーの「SSHキー」をクリックし、「登録済みSSHキー」の画面から、上記と同じ名前の秘密鍵を表示します。(本記事での秘密鍵名は、defaultinskey)

接続元PCの.sshフォルダに格納されている秘密鍵を開き、暗号の末尾が一致しているかを確認します。(本記事での暗号の末尾は9GEBVk4y7cc=)

ssh09


接続元PCの.sshフォルダに格納されている秘密鍵を開いたときの暗号の末尾(本記事での暗号の末尾は9GEBVk4y7cc=)

ssh10


Unprotected Private Key Fileの警告がでた場合

ssh接続の際に、Unprotected Private Key File (保護されていないプライベートキーファイル)の警告がでることがあります。この場合、秘密鍵のパーミッションを設定することで解消します。

ssh11


コマンドプロンプトで次のコマンドを実行します。

sudo chmod 600 .ssh/ackey.txt


コマンド実行後、Passwordが問われますので、接続元PCにログインしたときのパスワードを入力します。
続いてコマンドプロンプトで次のコマンドを実行します。

sudo chmod 600 .ssh/mykey.txt


コマンド実行後、Passwordが問われますので、接続元PCにログインしたときのパスワードを入力します。
秘密鍵のパーミッションの設定が完了しましたら、SSH接続コマンドを再実行します。


ここまで紹介したポイントをご確認いただき、接続できない場合はGPUSOROBANサポートまでお問い合わせください。

お問い合わせの際はお手数おかけしますが、コマンドプロンプトのエラーの画面キャプチャを送付ください。

VSCodeをご利用の場合は、以下のエラー画面のキャプチャを送付お願いします。


VS Codeのエラー画面キャプチャについて

VS Codeのインスタンス接続によるエラーのお問い合わせの際は下記の3点をご一緒にお送りください。

①VSCodeヘッダーの[View]、[OUTPUT]を順にクリックし、赤枠のプルダウンメニューから[Remore-SSH]を選択して表示されたログ

VS Code


②.ssh/configファイル
VSCode


③接続元OS(WindowsやMacなど)の種類

stablediffusion


SSHセッションが途中で途切れる場合


長時間プログラムを実行した際に、途中でSSH接続が切断され処理が途中で終了してしまう場合があります。
そのような場合には「screen」コマンドを使用することで、SSH接続が切断された場合でもバッググラウンドでプログラムの処理が継続します。詳しくはSSHセッションが切れてもバックグラウンドで処理を継続する方法の記事をご覧ください。


SSHコマンドが手間な場合


VScodeでconfigfileの設定をするとSSHコマンドを実行せずに、マウスクリックのみでインスタンスに接続できます。
詳しくはVSCodeでインスタンスに接続の記事をご覧ください。


ここまでがインスタンス接続に関するトラブルシューティングの紹介になります。


GPUSOROBAN(高速コンピューティング)は高性能なGPUインスタンスが低コストで使えるクラウドサービスです。サービスについて詳しく知りたい方は、公式サイトをご覧ください。

MORE INFORMATION

GPUでお困りの方はGPUSOROBANで解決!
お気軽にご相談ください

10日間無料トライアル
詳しい資料はこちら
質問・相談はこちら