Using SSH keys inside docker container
docker, ssh-keys
Solution
Turns out when using Ubuntu, the ssh_config isn't correct. You need to add
RUN echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config
to your Dockerfile in order to get it to recognize your ssh key.
Problem
I have an app that executes various fun stuff with Git (like running git clone & git push) and I'm trying to docker-ize it. I'm running into an issue though where I need to be able to add an SSH key to the container for the container 'user' to use. I tried copying it into `/root/.ssh/`, changing `$HOME`, creating a git ssh wrapper, and still no luck. Here is the Dockerfile for reference: ``` #DOCKER-VERSION 0.3.4 from ubuntu:12.04 RUN apt-get update RUN apt-get install python-software-properties python g++ make git-core openssh-server -y RUN add-apt-repository ppa:chris-lea/node.js RUN echo "deb http://archive.ubuntu.com/ubuntu precise universe" >> /etc/apt/sources.list RUN apt-get update RUN apt-get install nodejs -y ADD . /src ADD ../../home/ubuntu/.ssh/id_rsa /root/.ssh/id_rsa RUN cd /src; npm install EXPOSE 808:808 CMD [ "node", "/src/app.js"] ``` `app.js` runs the git commands like `git pull`
Related problems
- Clone private git repo with dockerfile
- npm install private github repositories by dependency in package.json
- Volume binding using docker compose on Windows
- Using ssh-agent with docker on macOS
- Docker Load key "/root/.ssh/id_rsa": invalid format
- Use github private repo deploy key inside build stage in docker for npm install
- Building Go apps with private gitlab modules in Docker