0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚀Docker開発コンテナからGitHubへSSH接続するまでの手順【VSCode × Dev Container対応】

Posted at

こんにちは。今回は、VSCodeの開発コンテナ(Dev Container)からGitHubにSSHで接続して、Git操作できるようにする方法を、ステップバイステップでまとめました。

DockerやDev Containerを使ってローカル開発環境を整えている方は、GitHubへの接続設定もコンテナ側で行う必要があります。HTTPS接続ではなく、SSH接続を使うことで毎回のトークン入力が不要になり、快適な開発が可能になります。


✅ 前提条件

  • GitHub アカウントを持っている
  • Docker 環境が整っている
  • VSCode で Dev Container を使って開発している
  • 開発コンテナに git がインストール済み(apt install git などで)

🧭 手順まとめ


1. 開発コンテナに入る

VSCode の Dev Container(Remote Containers)を立ち上げて、コンテナ内のターミナルを開きます。

# 例
root@container-name:/app#

2. 開発コンテナ内で SSH鍵を作成する

ssh-keygen -t ed25519 -C "your_email@example.com"
  • 保存先の指定はそのまま Enter(例: /root/.ssh/id_ed25519
  • パスフレーズは必要に応じて(セキュリティ重視なら設定推奨)

3. 公開鍵の中身を確認する

cat ~/.ssh/id_ed25519.pub

表示された**公開鍵(ssh-ed25519 で始まる長い1行)**をすべてコピーします。

⚠️ この公開鍵は GitHub に登録して使うものです。秘密鍵(id_ed25519)は絶対に公開しないようにしましょう。


4. GitHub に SSH 公開鍵を登録

GitHub にログインし、以下の手順で SSH キーを追加します。

  • 右上アイコン → Settings
  • 左メニュー SSH and GPG keysNew SSH key
  • Title: 任意(例: DevContainer
  • Key: コピーした公開鍵を貼り付ける
  • Add SSH key をクリック

5. SSH接続確認(初回)

ssh -T git@github.com

初回のみ以下のような確認が出ます:

Are you sure you want to continue connecting (yes/no)?

yes と入力

成功すると:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

と表示されます。


6. リモートURLをSSH形式に変更

HTTPS形式のままだと毎回トークンが必要になります。SSH形式に変更しておきましょう。

git remote set-url origin git@github.com:your-username/your-repo.git

確認:

git remote -v

origin  git@github.com:your-username/your-repo.git (fetch)
origin  git@github.com:your-username/your-repo.git (push)

7. Git操作OK!

あとは通常通りの Git 操作ができます!

git pull origin main
git push origin main

💡補足:dubious ownership エラーが出た場合

コンテナ内で Git を使おうとしたとき、こんなエラーが出ることがあります:

fatal: detected dubious ownership in repository at '/app'

この場合は以下のコマンドで対処できます:

git config --global --add safe.directory /app

✅ まとめ

項目 メリット
SSH接続 毎回の認証不要、CI/CDにも最適
HTTPS接続 シンプルだが、毎回トークン入力が必要

SSH接続は最初の設定が少しだけ手間ですが、一度設定すれば非常に快適です。特にDocker開発環境やCIとの相性が抜群なので、ぜひ試してみてください!


🔒 最後に(セキュリティメモ)

  • 秘密鍵(id_ed25519)は絶対に漏洩しないように!
  • 記事やブログで公開するのは必ず公開鍵(.pub)だけにすること!
  • セキュリティが心配な場合は、鍵をパスフレーズ付きで作成し、ssh-agent などを使って安全・便利に運用しましょう。
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?