/docker-scp-server

Restricted SSH server in a Docker container which allows SCP / SFTP access only

Primary LanguageShell

docker-scp-server

Restricted SSH server which allows SCP / SFTP access only.

Running

  1. Put your authorized keys in an ENV variable and run the image:

    AUTHORIZED_KEYS=$(base64 -w0 my-authorized-keys)
    
    docker run -d \
      -e AUTHORIZED_KEYS=$AUTHORIZED_KEYS \
      -p <PORT>:22 \
      -v <DATADIR>:/home/data \
      -v <HOSTKEYDIR>:/var/local/etc/ssh \
      schoolscout/scp-server

    Alternatively, mount your authorized_keys file into the container at /run/secrets/authorized_keys:

    docker run -d \
      -v /path/to/my/authorized_keys:/run/secrets/authorized_keys \
      -p <PORT>:22 \
      -v <DATADIR>:/home/data \
      -v <HOSTKEYDIR>:/var/local/etc/ssh \
      schoolscout/scp-server
  2. Now you can copy into the container (e.g. via scp) as the data user:

    scp -P <PORT> <FILE> data@<DOCKER-HOST>: