LoginSignup
0
1

VSCodeでSSH接続先のDockerにつなぐ

Last updated at Posted at 2024-04-19

はじめに

機械学習を行う際に、GPUを積んだPCにリモート接続する機会がありました。
そこで、VSCodeからSSH接続先のDockerに繋ぐ設定をしたので、記録を残しておきます。
イメージはこんな感じです。
SSH.png

SSHとは

簡単に説明すると、遠くのコンピューターにアクセスする方法です。
接続先のパソコンに対してコマンドを実行したり、ファイルを転送したりすることができます。

環境

接続元:Mac
接続先:Ubuntu 20.04

前提

  • 接続元(パソコンA)にVSCodeがインストール済み
  • 接続先(パソコンB)にDockerコンテナが生成済み

SSH接続の具体的な方法

1. 接続先のOpenSSHを起動

$ sudo apt install ssh

このコマンドを実行することでSSHサーバーとSSHクライアントをインストールできます。

$ service ssh start

このコマンドを実行することで、sshサービスが起動します。

$ sudo systemctl status ssh

を実行して、

Active: active (running)

となっていれば、OKです。

また、PCが起動した際に自動でサービスが起動するように設定するためには、

$ sudo systemctl enable ssh

を実行すると設定できます。
設定できているか確認するためには、

$ sudo systemctl is-enabled ssh

の結果がenabledになっていればOKです。

また、逆に自動起動しないように設定するには以下のコマンドで設定可能です。

$ sudo systemctl disable ssh

2. 接続元からSSH接続を確認

$ ssh 接続元のユーザーネーム@接続元のIPアドレス

でSSH接続ができるか確認してください。
SSH接続が正しくできていることが確認できればOKです。

もし接続できなければ、以下の2点を確認してみてください。

2-1. ネットワーク接続

$ ping 接続元のIPアドレス

接続元のから上記コマンドを打つことで、接続先までネットワークの経路が正しく設定されているかを確認できます。

2-2. ファイアウォール設定

$ sudo ufw allow ssh

接続先のPCで上記コマンドを打つことで、ファイアをーるの設定を行うことができます。

VSCodeで接続先へのSSH接続

1. VSCodeの「Remote Development」をインストール

  1. VSCodeを起動したら、アクティビティバーから「拡張機能」を選択(ショットーカットキー:Ctrl+Shift+X)します
  2. 上部のテキストボックスに「Remote Development」と入力し、下図の「Remote Development」をインストールします
    スクリーンショット 2024-04-19 14.39.58.png

2. SSH接続先を設定→接続

ssh設定.png

「C:\Users{username}.ssh\config」に新規ファイルを作成し、SSH接続先の設定を書き込みます。

SSH設定ファイルには、以下のように書き込みます。

Host ホスト名(任意の名前)
  HostName 接続先のIPアドレス
  User 接続先にログインするユーザ名
  Port サーバがLISTENしているポート番号(デフォルトは22)

ファイル保存後、下図の赤枠内にある更新マークをクリック
更新マーク.png

下図のように、先ほどホスト名として設定した名前が表示されればOKです。
ホスト名.png

次に、ホスト名の右にある矢印マークorファイルマークをクリックします。
「現在のウィンドウでアタッチする」か「新しいウィンドウでアタッチする」の違いなので、どちらでも問題ありません。

クリックすると、ssh接続先にログインします。
その際、パスワードなどの認証情報の入力を求められることがあります。

コンテナにつなぐ

サーバへのssh接続が完了したので、次はコンテナにつなぎます。

下図の手順でクリックします。
リモート.png

「開発コンテナー」をクリックします。
この時、ログインパスワードを求められる場合があります。
開発コンテナ.png

接続したいコンテナの右にある矢印マークorファイルマークをクリックします。
この時も、「現在のウィンドウでアタッチする」か「新しいウィンドウでアタッチする」の違いなので、どちらでも問題ありません。
コンテナ接続.png

これでコンテナへの接続が完了です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1