Dockerコンテナ内からssh接続する設定
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"