服务器,基于OpenSSH实现。从atmoz/sftp克隆而来,并添加了多架构支持,可在多种硬件架构上运行。
SFTP_USERS)或配置文件(/etc/sftp/users.conf)定义用户,可指定密码、UID/GID及自动创建目录。latest)和Alpine两种基础镜像,Alpine版本体积更小(约为Debian的1/10)。debian, latest(Dockerfile)alpine(Dockerfile)用户可通过以下三种方式定义,语法为:user:pass[:e][:uid[:gid[:dir1[,dir2]...]]]
(:e表示密码已加密;uid/gid指定用户/组ID;dir1,dir2为自动创建的子目录)
docker run或docker-compose的command中指定。SFTP_USERS环境变量传递用户信息。/etc/sftp/users.conf(只读模式),每行定义一个用户。/home/user/upload)。/etc/ssh/ssh_host_ed25519_key、/etc/ssh/ssh_host_rsa_key)。bashdocker run -p 22:22 -d justinhimself/sftp foo:pass:::upload
用户foo使用密码pass登录,可上传文件到自动创建的upload目录。无挂载卷或自定义UID/GID。
bashdocker run \ -v <本地目录>/upload:/home/foo/upload \ -p 2222:22 -d justinhimself/sftp \ foo:pass:1001
将本地目录挂载到foo用户的upload子目录,UID设为1001(与主机权限匹配)。
yamlsftp: image: justinhimself/sftp volumes: - <本地目录>/upload:/home/foo/upload ports: - "2222:22" command: foo:pass:1001
容器22端口映射到主机2222端口时,使用OpenSSH客户端登录:
sftp -P 2222 foo@<主机IP>
users.conf:
foo:123:1001:100:upload,docs bar:abc:1002:100:data
bashdocker run \ -v <本地目录>/users.conf:/etc/sftp/users.conf:ro \ -v mySftpVolume:/home \ -p 2222:22 -d justinhimself/sftp
密码后添加:e标记为加密密码,终端中需用单引号包裹:
bashdocker run \ -v <本地目录>/share:/home/foo/share \ -p 2222:22 -d justinhimself/sftp \ 'foo:$1$0G2g0GSt$ewU0t6GXG15.0hWoOX8X9.:e:1001'
生成加密密码:
docker run --rm python:alpine python -c "import crypt; print(crypt.crypt('你的密码'))"
挂载公钥到用户的.ssh/keys/目录(自动追加到authorized_keys):
bashdocker run \ -v <本地目录>/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ -v <本地目录>/share:/home/foo/share \ -p 2222:22 -d justinhimself/sftp \ foo::1001 # 无密码,仅密钥登录
bash# 生成密钥(本地执行) ssh-keygen -t ed25519 -f ssh_host_ed25519_key < /dev/null ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key < /dev/null # 启动容器时挂载密钥 docker run \ -v <本地目录>/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key \ -v <本地目录>/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key \ -v <本地目录>/share:/home/foo/share \ -p 2222:22 -d justinhimself/sftp \ foo::1001
取决于基础镜像版本,可通过发行版包列表查询:
注意:镜像构建延迟可能导致OpenSSH版本更新滞后(通常1-5天),可克隆源码手动构建以确保最新版本。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429