
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于Alpine Linux的轻量级Docker镜像,暴露sshd服务并预安装rsync,提供灵活的配置选项以满足不同的远程访问和文件传输需求。
可通过以下环境变量配置容器,或选择将自定义sshd配置挂载到/etc/ssh/sshd_config:
SSH_USERS:要创建的用户账户及uid/gid列表,格式如SSH_USERS=www:48:48,admin:1000:1000:/bin/bash,其中第四个参数(用户shell)为可选SSH_ENABLE_ROOT:设为"true"时解锁root账户SSH_ENABLE_PASSWORD_AUTH:设为"true"时启用密码认证(默认禁用,不包含root用户)SSH_ENABLE_ROOT_PASSWORD_AUTH:设为"true"时启用所有用户(包括root)的密码认证MOTD:修改登录消息GATEWAY_PORTS:设为"true"时sshd允许网关端口TCP_FORWARDING:设为"true"时sshd允许TCP转发DISABLE_SFTP:设为"true"时sshd不接受sftp连接。注意:除非为每个用户定义限制shell以阻止执行授予文件访问权限的程序,否则无法防止文件访问以下三种限制模式(仅SFTP、仅SCP、仅Rsync)互斥。若未定义任何模式,则接受所有连接类型;一次只能启用一种模式:
仅SFTP模式
SFTP_MODE:设为"true"时sshd仅接受sftp连接SFTP_CHROOT:在仅SFTP模式下,sftp将chroot到该目录,默认"/data"仅SCP模式
SCP_MODE:设为"true"时sshd仅接受scp连接(使用rssh)仅Rsync模式
RSYNC_MODE:设为"true"时sshd仅接受rsync连接(使用rssh)SSH使用主机密钥标识服务器。为避免安全警告,应将主机密钥挂载到外部卷。
默认情况下,此镜像会在/etc/ssh/keys中创建新主机密钥,建议将该目录挂载到外部卷。若使用现有密钥并挂载到/etc/ssh,镜像将使用默认主机密钥位置,使其与现有设置兼容。
若希望完全通过环境变量配置SSH,建议外部挂载/etc/ssh/keys而非/etc/ssh。
要通过root访问容器,需将.ssh凭证(RSA公钥)挂载到/root/.ssh/并设置SSH_ENABLE_ROOT=true;或为每个用户将密钥挂载到/etc/authorized_keys/<username>,并通过SSH_USERS环境变量创建用户账户。
授权密钥必须由root(uid/gid 0)拥有,或由SSH_USERS中指定的用户对应的uid/gid拥有。
当设置SFTP_MODE=true启用仅SFTP模式时,容器仅接受sftp连接。所有sftp操作将chroot到SFTP_CHROOT目录(默认"/data")。
请注意,ChrootDirectory指令中路径名的所有组件必须是root拥有的目录,且不可被其他用户或组写入(参见man 5 sshd_config)。
当分别设置SCP_MODE=true或RSYNC_MODE=true启用仅SCP或仅Rsync模式时,容器仅接受scp或rsync连接,不提供chroot。
这通过rssh限制shell实现。
可将可执行shell脚本和二进制文件挂载或复制到/etc/entrypoint.d,容器启动时会在sshd启动前运行这些脚本,用于自定义容器行为。
不推荐使用密码认证,但可通过SSH_ENABLE_PASSWORD_AUTH=true启用。镜像不提供通过配置设置用户密码的方法,但可使用自定义脚本支持运行自定义脚本来设置用户密码。设置SSH_ENABLE_ROOT_PASSWORD_AUTH=true也会启用root账户的密码认证。
例如,可添加以下脚本到/etc/entrypoint.d/:
setpasswd.sh
bash#!/usr/bin/env bash set -e echo 'user1:$6$lAkdPbeeZR7YJiE3$ohWgU3LcSVit/hEZ2VOVKvxD.67.N9h5v4ML7.4X51ZK3kABbTPHkZUPzN9jxQQWXtkLctI0FJZR8CChIwz.S/' | chpasswd --encrypted # 若不预哈希密码,删除上一行并取消下一行注释 # echo "user1:user1password" | chpasswd
强烈建议预哈希密码。未哈希的密码存在安全风险,其他用户可能读取setpasswd.sh脚本并查看所有用户密码,且保留明文密码被视为不良实践。
要生成哈希密码,可使用此镜像中提供的mkpasswd,或通过https://trnubo.github.io/passwd.html%E5%9C%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E7%94%9F%E6%88%90%E3%80%82%60mkpasswd%60%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B%EF%BC%9A
$ docker run --rm -it --entrypoint /usr/bin/env docker.io/bensuperpc/sshd:v1.5.0 mkpasswd Password: $6$w0ZvF/gERVgv08DI$PTq73dIcZLfMK/Kxlw7rWDvVcYvnWJuOWtxC7sXAYZL69CnItCS.QM.nTUyMzaT0aYjDBdbCH1hDiwbQE8/BY1
使用setpasswd.sh脚本启动sshd:
docker run -ti -p 2222:22 \ -v $(pwd)/keys/:/etc/ssh/keys \ -e SSH_USERS=user:1000:1000 \ -e SSH_ENABLE_PASSWORD_AUTH=true \ -v $(pwd)/entrypoint.d/:/etc/entrypoint.d/ \ docker.io/bensuperpc/sshd:v1.5.0
要启用root账户的密码认证,上述setpasswd.sh脚本还需为root用户定义密码,命令如下:
docker run -ti -p 2222:22 \ -e SSH_ENABLE_ROOT_PASSWORD_AUTH=true \ -v $(pwd)/entrypoint.d/:/etc/entrypoint.d/ \ docker.io/bensuperpc/sshd:v1.5.0
以下示例将以交互方式运行并绑定到端口2222,/data将绑定挂载到主机,ssh主机密钥将持久化到keys目录。
可使用私钥通过ssh root@localhost -p 2222访问:
docker run -ti -p 2222:22 \ -v ${HOME}/.ssh/id_rsa.pub:/root/.ssh/authorized_keys:ro \ -v $(pwd)/keys/:/etc/ssh/keys \ -v $(pwd)/data/:/data/ \ -e SSH_ENABLE_ROOT=true \ docker.io/bensuperpc/sshd:v1.5.0
创建gid/uid为48的www用户,可使用私钥通过ssh www@localhost -p 2222访问:
docker run -ti -p 2222:22 \ -v ${HOME}/.ssh/id_rsa.pub:/etc/authorized_keys/www:ro \ -v $(pwd)/keys/:/etc/ssh/keys \ -v $(pwd)/data/:/data/ \ -e SSH_USERS="www:48:48" \ docker.io/bensuperpc/sshd:v1.5.0
生产环境请使用带版本的发布标签,而非浮动的"latest"标签。
参见https://github.com/bensuperpc/docker-sshd/releases%E4%BA%86%E8%A7%A3%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E5%92%8C%E5%8F%91%E5%B8%83%E8%AF%B4%E6%98%8E%E3%80%82
生产就绪且稳定。
Fork自Git仓库:https://github.com/panubo/docker-sshd
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务