開発時の検証用として立ててみました。
docker image
使い方
$ docker run -p 2222:22 -d atmoz/sftp foo:pass:::upload
fooというユーザーがpassというパスワードで生成されます。
/home/foo/upload
が作成されて、そこに書き込みができます。
$ mkdir ~/upload $ docker run \ -p 2222:22 \ -v ~/upload:/home/foo/upload \ -d atmoz/sftp foo:pass:::upload
upload先をmountしたい場合は -v
を指定します。
秘密鍵を使った認証の場合は、公開鍵をマウントし、コマンドでパスではなくuidをふってあげます。
$ mkdir ~/upload $ mkdir ~/ssh $ ssh-keygen -t rsa -b 4096 -N "" -C "" -m pem -f ~/ssh/sftp_rsa $ docker run \ -p 2222:22 \ -v ~/upload:/home/foo/upload \ -v ~/ssh/sftp_rsa.pub:/home/foo/.ssh/keys/sftp_rsa.pub:ro \ -d atmoz/sftp foo::1001
接続確認
$ sftp -oPort="2222" foo@localhost $ sftp -oPort="2222" -oIdentityFile=~/ssh/sftp_rsa foo@localhost