Skip to content

Commit 802457a

Browse files
author
GitHub Copilot CLI
committed
feat: WSLのSSH認証情報をDevContainerにマウントする手順を追加
1 parent bb5cf8e commit 802457a

3 files changed

Lines changed: 82 additions & 4 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@
6868
"welcome": "echo '🚀 OpenCode ECC DevContainer へようこそ!' && echo '' && echo '📋 次のステップ:' && echo ' 1️⃣ .env.template を .env にコピー' && echo ' 2️⃣ 必要に応じて ./.devcontainer/interactive-setup.sh でTailscale設定' && echo '' && echo '🎨 サービスURL:' && echo ' 📍 OpenChamber: http://localhost:3000' && echo ' 🤖 OpenCode CLI: http://localhost:4095'"
6969
},
7070
"remoteUser": "vscode",
71+
"remoteEnv": {
72+
"SSH_AUTH_SOCK": "/home/vscode/.ssh/agent.sock"
73+
},
7174
"mounts": [
75+
"source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind,readonly",
7276
"source=opencode-data,target=/home/vscode/.opencode,type=volume",
7377
"source=tailscale-state,target=/var/lib/tailscale,type=volume"
7478
]

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,57 @@ cp .env.template .env
3939

4040
VS Code で `Dev Containers: Reopen in Container` を実行します。
4141

42+
### 3.1 WSLのSSH認証情報を使う(Git SSH用)
43+
44+
このリポジトリの DevContainer は、WSL 側の `~/.ssh``SSH_AUTH_SOCK` をコンテナへマウントします。
45+
46+
WSL 側で以下を確認してから `Rebuild and Reopen in Container` を実行してください。
47+
48+
```bash
49+
# WSL 側で実行
50+
# 固定ソケットでssh-agentを起動(DevContainer連携用)
51+
if [ -d ~/.ssh/agent.sock ]; then rm -rf ~/.ssh/agent.sock; else rm -f ~/.ssh/agent.sock; fi
52+
eval "$(ssh-agent -a ~/.ssh/agent.sock -s)"
53+
export SSH_AUTH_SOCK=~/.ssh/agent.sock
54+
55+
chmod 700 ~/.ssh
56+
chmod 600 ~/.ssh/<your_key>
57+
chmod 644 ~/.ssh/<your_key>.pub
58+
ssh-add ~/.ssh/<your_key>
59+
60+
echo "$SSH_AUTH_SOCK"
61+
ssh-add -l
62+
```
63+
64+
- `ssh-agent` を単体実行するだけでは現在のシェルに反映されないため、`eval "$(ssh-agent -a ~/.ssh/agent.sock -s)"` を使ってください。
65+
- `ssh-add` は公開鍵 (`.pub`) ではなく秘密鍵ファイルを指定してください。
66+
- `ssh-add -l` で鍵が出ない場合は、`chmod 700 ~/.ssh && chmod 600 ~/.ssh/<your_key>` の後に `ssh-add ~/.ssh/<your_key>` を実行してください。
67+
68+
起動後、DevContainer 内で次を確認できます。
69+
70+
```bash
71+
echo "$SSH_AUTH_SOCK"
72+
ls -l /home/vscode/.ssh/agent.sock
73+
ssh-add -l
74+
ssh -T git@github.com
75+
```
76+
77+
`echo "$SSH_AUTH_SOCK"` が空の場合は、次を確認してください。
78+
79+
```bash
80+
# WSL 側
81+
if [ -d ~/.ssh/agent.sock ]; then rm -rf ~/.ssh/agent.sock; else rm -f ~/.ssh/agent.sock; fi
82+
eval "$(ssh-agent -a ~/.ssh/agent.sock -s)"
83+
export SSH_AUTH_SOCK=~/.ssh/agent.sock
84+
ssh-add ~/.ssh/<your_key>
85+
echo "$SSH_AUTH_SOCK"
86+
87+
# 同じ WSL シェルから VS Code を起動
88+
code .
89+
```
90+
91+
その後、`Dev Containers: Rebuild and Reopen in Container` を実行してください。
92+
4293
### 4. 任意: 対話セットアップ
4394

4495
```bash

docs/QUICK_START.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,45 @@ git clone https://github.com/<your-account>/opencode-ecc-devcontainer.git
1313
cd opencode-ecc-devcontainer
1414
```
1515

16-
2. `.env` を作成
16+
1. `.env` を作成
1717

1818
```bash
1919
cp .env.template .env
2020
```
2121

22-
3. 必要なら Tailscale 情報を設定
22+
1. 必要なら Tailscale 情報を設定
2323

2424
- `TAILSCALE_AUTH_KEY`
2525
- `TAILSCALE_HOSTNAME`
2626

27-
4. DevContainer を起動
27+
1. DevContainer を起動
2828

2929
- VS Code: `Dev Containers: Reopen in Container`
3030

31-
5. 任意で対話セットアップ
31+
1. (WSL利用時)SSH認証情報の確認
32+
33+
DevContainer は WSL の `~/.ssh``SSH_AUTH_SOCK` を利用できます。
34+
WSL 側で次を確認してください。
35+
36+
```bash
37+
if [ -d ~/.ssh/agent.sock ]; then rm -rf ~/.ssh/agent.sock; else rm -f ~/.ssh/agent.sock; fi
38+
eval "$(ssh-agent -a ~/.ssh/agent.sock -s)"
39+
export SSH_AUTH_SOCK=~/.ssh/agent.sock
40+
41+
chmod 700 ~/.ssh
42+
chmod 600 ~/.ssh/<your_key>
43+
chmod 644 ~/.ssh/<your_key>.pub
44+
ssh-add ~/.ssh/<your_key>
45+
46+
echo "$SSH_AUTH_SOCK"
47+
ls -l /home/vscode/.ssh/agent.sock
48+
ssh-add -l
49+
```
50+
51+
`ssh-agent` を単体実行するだけでは現在のシェルに反映されないため、`eval "$(ssh-agent -a ~/.ssh/agent.sock -s)"` を使ってください。
52+
`ssh-add` は公開鍵 (`.pub`) ではなく秘密鍵ファイルを指定してください。
53+
54+
1. 任意で対話セットアップ
3255

3356
```bash
3457
./.devcontainer/interactive-setup.sh

0 commit comments

Comments
 (0)