forked from avsm/docker-ssh-agent-forward
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpinata-ssh-forward.sh
More file actions
executable file
·29 lines (23 loc) · 967 Bytes
/
Copy pathpinata-ssh-forward.sh
File metadata and controls
executable file
·29 lines (23 loc) · 967 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh -e
IMAGE_NAME=pinata-sshd
CONTAINER_NAME=pinata-sshd
LOCAL_STATE=~/.pinata-sshd
LOCAL_PORT=2244
docker rm -f ${CONTAINER_NAME} >/dev/null 2>&1 || true
rm -rf ${LOCAL_STATE}
mkdir -p ${LOCAL_STATE}
docker run --name ${CONTAINER_NAME} \
-v ~/.ssh/id_rsa.pub:/root/.ssh/authorized_keys \
-v ${LOCAL_STATE}:/tmp \
-d -p ${LOCAL_PORT}:22 ${IMAGE_NAME} > /dev/null
IP=`docker inspect --format '{{(index (index .NetworkSettings.Ports "22/tcp") 0).HostIp }}' ${CONTAINER_NAME}`
ssh-keyscan -p ${LOCAL_PORT} ${IP} > ${LOCAL_STATE}/known_hosts 2>/dev/null
ssh -f -o "UserKnownHostsFile=${LOCAL_STATE}/known_hosts" \
-A -p ${LOCAL_PORT} root@${IP} \
/root/ssh-find-agent.sh
echo 'Agent forwarding successfully started.'
echo 'Run "pinata-ssh-mount" to get a command-line fragment that'
echo 'can be added to "docker run" to mount the SSH agent socket.'
echo ""
echo 'For example:'
echo 'docker run -it `pinata-ssh-mount` ocaml/opam ssh git@github.com'