This is an alpine sshd container made for X forwarding. Start a local X-server. On a mac you can use XQuartz. Ssh into the container and run your favorite alpine x-app (e.g. firefox) and see it on your local machine.
For key based authentication create a volume to keep authorized_keys.
tar cv --files-from /dev/null | docker import - scratch
docker create -v /root/.ssh --name ssh-container scratch /bin/true
docker cp id_rsa.pub ssh-container:/root/.ssh/authorized_keys
Then start the sshd service
docker run -p 4848:22 --name alpine-sshdx --hostname alpine-sshdx --volumes-from ssh-container -d danielguerra/alpine-sshdx
- Note user alpine is defined with sudo rights.
Start the sshd service
docker run -p 4848:22 --name alpine-sshdx --hostname alpine-sshdx -d danielguerra/alpine-sshdx
There is one user in the system with sudo rights
user:alpine pass:alpine
Change the password for alpine
docker exec -ti alpine-sshdx passwd alpine
Didn't want key based set a password for root.
docker exec -ti alpine-sshdx passwd
After this from your linux X environment or from the Xquartz terminal. See note Xquartz
ssh to your new container
ssh -i id_rsa -p 4848 -X root@<dockerhost>
For ssh key forwarding use ssh-agent
ssh-agent
ssh-add id_rsassh -A -p 4848 -X root@<dockerhost>
ssh -C -A -t -X -p 4848 root@<dockerhost> ssh -C -A -t -X -p 777 root@<hop> firefox
in the last example the each hop must have the same authorized_keys.
For cmd+v cmd+c e.g. copy/paste to work you need to do this on your mac.
cd ~/
vi .Xdefaults
paste this line (without the quotes)
*VT100.translations: #override Meta <KeyPress> V: insert-selection(PRIMARY, CUT_BUFFER0) \n
esc :wq
Then
xrdb -merge ~/.Xdefaults
restart Xquartz and cmd+c and cmd+v works.