diff --git a/README.md b/README.md index 0f31286..2021fa9 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,20 @@ +[![Build Status](https://travis-ci.com/Hermsi1337/docker-sshd.svg?branch=master)](https://travis-ci.com/Hermsi1337/docker-sshd) [![Pulls](https://img.shields.io/docker/pulls/hermsi/alpine-sshd.svg)](https://hub.docker.com/r/hermsi/alpine-sshd/) ## Make your OpenSSH fly on Alpine ### Overview + Use this Dockerfile / -image to start a slim and highly customizable sshd-server with `bash` and `rsync` installed. ### Regular builds, automagically -[![Build Status](https://travis-ci.com/Hermsi1337/docker-sshd.svg?branch=master)](https://travis-ci.com/Hermsi1337/docker-sshd) + Thanks to [Travis-CI](https://travis-ci.com/) this image is pushed weekly and creates new [tags](https://hub.docker.com/r/hermsi/alpine-sshd/tags/) if there are new versions available. ### Tags + For recent tags check [Dockerhub](https://hub.docker.com/r/hermsi/alpine-sshd/tags/). ### Features + * `bash`-shell and `rsync` installed * Default `.bashrc` from `ubuntu` * Desired shell is configurable by --env @@ -22,7 +26,9 @@ For recent tags check [Dockerhub](https://hub.docker.com/r/hermsi/alpine-sshd/ta * Beautifully colored log output ### Usage examples + #### Authentication as root by password + ```bash $ docker run --rm \ --publish=1337:22 \ @@ -31,11 +37,13 @@ hermsi/alpine-sshd ``` After the container is up you are able to ssh in it as root with the in --env provided password for "root"-user. + ```bash $ ssh root@mydomain.tld -p 1337 ``` #### Authentication as root by ssh-keypair + ```bash $ docker run --rm \ --publish=1337:22 \ @@ -45,11 +53,13 @@ hermsi/alpine-sshd ``` After the container is up you are able to ssh in it as root with a private-key which matches the provided public-key in authorized_keys for "root"-user. + ```bash $ ssh root@mydomain.tld -p 1337 -i /path/to/private_key ``` #### Authenticate as additional user by ssh-keypair + ```bash $ docker run --rm \ --publish=1337:22 \ @@ -59,11 +69,13 @@ hermsi/alpine-sshd ``` After the container is up you are able to ssh in it as the given user with a private-key that matches the provided public-key in authorized_keys for your created user. + ```bash $ ssh mydomain.tld -l hermsi -p 1337 -i /path/to/hermsi_private_key ``` #### Create multiple, additional users with keypair + ```bash $ docker run --rm \ --publish=1337:22 \ @@ -74,14 +86,17 @@ hermsi/alpine-sshd ``` After the container is up you are able to ssh in it as one of the given users with a private-key that matches the provided public-key in authorized_keys for your desired user. + ```bash $ ssh root@mydomain.tld -p 1337 -i /path/to/private_key ``` ### Configuration + While beeing very slim and vanilla this image is still highly customizable. #### Environment variables + | Variable | Possible Values | Default value | Explanation | |:-----------------:|:-----------------:|:----------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:| | ROOT_LOGIN_UNLOCKED | 'true' or 'false' | 'false' | Whether to enable or disable login as 'root' user | @@ -90,8 +105,10 @@ While beeing very slim and vanilla this image is still highly customizable. | USER_LOGIN_SHELL | any existing shell | `/bin/bash` | Choose the desired default shell for all additional users. If the configured shell is not existent, a fallback to `/bin/ash` is applied | ### Extending this image + This image is designed to be as slim and vanilla as possible. If you need additional Tools like `git` , I definetly recommend to build your own image on top of `alpine-sshd`: + ```Dockerfile FROM hermsi/alpine-sshd:latest @@ -100,5 +117,6 @@ RUN apk add --no-cache \ ``` ### Use with docker-compose + I built this image in order to use it along with a nginx and fpm-php container for transferring files via sftp. If you are interested in a Dockerfile which fulfills this need: [this way](https://github.com/Hermsi1337/docker-compose/blob/master/full_php_dev_stack/docker-compose.yml)