mirror of
https://github.com/atmoz/sftp.git
synced 2024-11-17 12:51:33 -05:00
70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
sftp [![Docker Build Status](http://hubstatus.container42.com/atmoz/sftp)](https://registry.hub.docker.com/u/atmoz/sftp)
|
|
====
|
|
|
|
Easy to use SFTP ([SSH File Transfer Protocol](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol)) server with [OpenSSH](https://en.wikipedia.org/wiki/OpenSSH).
|
|
|
|
Usage
|
|
-----
|
|
|
|
- Define users as last arguments to `docker run`, one user per argument
|
|
(syntax: `user:pass[:e][:[uid][:gid]]`).
|
|
- You must set custom UID for your users if you want them to make changes to
|
|
your mounted volumes with permissions matching your host filesystem.
|
|
- Mount volumes in user's home folder.
|
|
- The users are chrooted to their home directory, so you must mount the
|
|
volumes in separate directories inside the user's home directory
|
|
(/home/user/**mounted-directory**).
|
|
|
|
Examples
|
|
--------
|
|
|
|
### Single user and volume
|
|
|
|
```
|
|
docker run \
|
|
-v /host/share:/home/foo/share \
|
|
-p 2222:22 -d atmoz/sftp \
|
|
foo:123:1001
|
|
```
|
|
|
|
#### Logging in
|
|
|
|
The OpenSSH server runs by default on port 22, and in this example, we are
|
|
forwarding the container's port 22 to the host's port 2222. To log in with an
|
|
OpenSSH client, run: `sftp -P 2222 foo@<your-container-ip>`
|
|
|
|
### Multiple users and volumes
|
|
|
|
```
|
|
docker run \
|
|
-v /host/share:/home/foo/share \
|
|
-v /host/documents:/home/foo/documents \
|
|
-v /host/http:/home/bar/http \
|
|
-p 2222:22 -d atmoz/sftp \
|
|
foo:123:1001 \
|
|
bar:abc:1002
|
|
```
|
|
|
|
### Encrypted password
|
|
|
|
Add `:e` behind password to mark it as encrypted. Use single quotes.
|
|
|
|
```
|
|
docker run \
|
|
-v /host/share:/home/foo/share \
|
|
-p 2222:22 -d atmoz/sftp \
|
|
'foo:$1$0G2g0GSt$ewU0t6GXG15.0hWoOX8X9.:e:1001'
|
|
```
|
|
|
|
Tip: you can use makepasswd to generate encrypted passwords:
|
|
`echo -n 123 | makepasswd --crypt-md5 --clearfrom -`
|
|
|
|
### Using SSH key (without password)
|
|
|
|
```
|
|
docker run \
|
|
-v /host/id_rsa.pub:/home/foo/.ssh/authorized_keys:ro \
|
|
-v /host/share:/home/foo/share \
|
|
-p 2222:22 -d atmoz/sftp \
|
|
foo::1001
|
|
```
|