記事一覧へ戻る

Dockerコンテナ内からssh接続する設定

Kinya Fujimoto Kinya Fujimoto
2021年12月22日 この記事はおよそ1分で読めます

環境

ホスト: Windows 10 Home (64bit)
WSL2: Ubuntu 20.04.3 LTS

概要

WSL2 Ubuntu側で作成した鍵ペアを使ってDockerコンテナ内からssh接続したい

socatとkeychainのインストール

sudo apt install socat
sudo apt install keychain

bashrcへ追加

~/.bashrcへ下記内容を追記

# For Loading the SSH key
/usr/bin/keychain -q --nogui $HOME/.ssh/id_rsa
source $HOME/.keychain/$HOSTNAME-sh

VSCodeのDevContainerからssh

以上までの設定をしておけばVSCodeのDevContainer内から、sshコマンドが通るようになる。

sshコマンド例
ssh-add -l
ssh -T git@github.com

docker-compose等で起動したコンテナ内からssh

以下例で示すYAMLのように、volumesとenvironmentの設定を追記する。

docker-compose.yml
services:
  app:
    volumes:
      - "$SSH_AUTH_SOCK:/tmp/ssh-agent.sock"
    environment:
      SSH_AUTH_SOCK: "/tmp/ssh-agent.sock"

参考リンク

Using SSH-Agent the right way in Windows 10 WSL2

この記事をシェアする
Docker SSH keychain WSL2 Ubuntu VSCode DevContainer