diff --git a/Dockerfile b/Dockerfile index 09e82d4..0c3d252 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,8 @@ RUN mkdir /root/.ssh && \ chmod 700 /root/.ssh && \ ssh-keygen -A COPY ssh-find-agent.sh /root/ssh-find-agent.sh +COPY docker-entrypoint.sh / EXPOSE 22 VOLUME ["/root/.ssh/authorized_keys"] -ENTRYPOINT ["/usr/bin/tini","--"] +ENTRYPOINT ["/sbin/tini", "--", "/docker-entrypoint.sh"] CMD ["/usr/sbin/sshd","-D"] diff --git a/Makefile b/Makefile index 49c0488..4a7164c 100644 --- a/Makefile +++ b/Makefile @@ -7,11 +7,11 @@ BINDIR ?= $(PREFIX)/bin install: @if [ ! -d "$(PREFIX)" ]; then echo Error: need a $(PREFIX) directory; exit 1; fi - @mkdir -p $(PREFIX)/share/pinata-ssh-agent - cp Dockerfile $(PREFIX)/share/pinata-ssh-agent - cp ssh-build.sh $(PREFIX)/share/pinata-ssh-agent/ssh-build - cp ssh-find-agent.sh $(PREFIX)/share/pinata-ssh-agent/ssh-find-agent.sh @mkdir -p $(BINDIR) - cp pinata-build-sshd.sh $(BINDIR)/pinata-build-sshd cp pinata-ssh-forward.sh $(BINDIR)/pinata-ssh-forward cp pinata-ssh-mount.sh $(BINDIR)/pinata-ssh-mount + +uninstall: + @if [ ! -d "$(BINDIR)" ]; then echo Error: $(BINDIR) directory does not exist; exit 1; fi + rm $(BINDIR)/pinata-ssh-forward + rm $(BINDIR)/pinata-ssh-mount \ No newline at end of file diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000..a55c765 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -e +chown root:root /root/.ssh/authorized_keys +exec "$@" \ No newline at end of file diff --git a/pinata-build-sshd.sh b/pinata-build-sshd.sh index 23e9a85..b1df031 100755 --- a/pinata-build-sshd.sh +++ b/pinata-build-sshd.sh @@ -1,4 +1,2 @@ #!/bin/sh - -cd /usr/local/share/pinata-ssh-agent docker build -t pinata-sshd . diff --git a/pinata-ssh-forward.sh b/pinata-ssh-forward.sh index 4b236d4..9f9a738 100755 --- a/pinata-ssh-forward.sh +++ b/pinata-ssh-forward.sh @@ -18,7 +18,7 @@ IP=`docker inspect --format '{{(index (index .NetworkSettings.Ports "22/tcp") 0) 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} \ + -A -S none -p ${LOCAL_PORT} root@${IP} \ /root/ssh-find-agent.sh echo 'Agent forwarding successfully started.' diff --git a/ssh-build.sh b/ssh-build.sh deleted file mode 100755 index 4a65084..0000000 --- a/ssh-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -IMAGE_NAME=pinata-sshd - -docker build -q -t ${IMAGE_NAME} .