
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
LinuxKit sshd 镜像是基于 https://github.com/linuxkit/linuxkit 项目中的 sshd 包构建的轻量级 SSH 服务器镜像。LinuxKit 是一个用于构建最小化、安全、容器化操作系统的工具包,该 sshd 镜像继承了 LinuxKit 的轻量特性,专注于提供基础且安全的 SSH 远程访问功能。
提供 SSH 协议支持,用于在容器化环境、嵌入式系统或边缘设备中实现安全的远程登录与管理。
docker run、docker-compose)。docker run 命令)通过 docker run 直接启动容器,支持通过环境变量配置核心参数:
bashdocker run -d \ --name linuxkit-sshd \ -p 2222:22 \ # 宿主机端口:容器内SSH端口(默认22) -e SSH_USER=admin \ # SSH登录用户名 -e SSH_PASSWORD=SecurePass123 \ # SSH登录密码(可选,建议优先使用密钥认证) -e SSH_PUBKEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." \ # SSH公钥(可选,用于密钥认证) -e SSH_PORT=22 \ # 容器内SSH服务监听端口(默认22) linuxkit/sshd:latest
容器支持以下环境变量自定义配置:
| 环境变量 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
SSH_USER | SSH 登录用户名 | root | 否 |
SSH_PASSWORD | 用户名对应的密码(明文,不建议在生产环境使用,优先用 SSH_PUBKEY) | 无 | 否 |
SSH_PUBKEY | 用于密钥认证的公钥字符串(格式:ssh-<algorithm> <key> <comment>) | 无 | 否 |
SSH_PORT | 容器内 SSH 服务监听端口 | 22 | 否 |
ALLOW_TCP_FORWARDING | 是否允许 TCP 端口转发(yes/no) | no | 否 |
生产环境中建议使用 SSH 密钥认证,避免明文密码泄露风险:
生成本地 SSH 密钥对(若已存在可跳过):
bashssh-keygen -t ed25519 -f ~/.ssh/linuxkit_key -N ""
启动容器时挂载公钥文件或传入公钥环境变量:
bash# 方式1:通过环境变量传入公钥 docker run -d \ --name linuxkit-sshd \ -p 2222:22 \ -e SSH_USER=admin \ -e SSH_PUBKEY="$(cat ~/.ssh/linuxkit_key.pub)" \ # 读取本地公钥文件内容 linuxkit/sshd:latest # 方式2:挂载公钥文件到容器(推荐,支持动态更新公钥) docker run -d \ --name linuxkit-sshd \ -p 2222:22 \ -e SSH_USER=admin \ -v ~/.ssh/linuxkit_key.pub:/etc/ssh/authorized_keys:ro \ # 只读挂载公钥文件 linuxkit/sshd:latest
客户端通过密钥登录:
bashssh -i ~/.ssh/linuxkit_key admin@<宿主机IP> -p 2222
docker-compose 配置示例通过 docker-compose.yml 定义服务,便于管理多容器环境:
yamlversion: '3' services: sshd: image: docker.xuanyuan.run/linuxkit/sshd:latest container_name: linuxkit-sshd ports: - "2222:22" # 宿主机2222端口映射到容器22端口 environment: - SSH_USER=operator - SSH_PUBKEY=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... # 替换为实际公钥 - SSH_PORT=22 - ALLOW_TCP_FORWARDING=yes restart: unless-stopped # 容器退出时自动重启(可选) # 可选:挂载自定义sshd配置文件(覆盖默认配置) # volumes: # - ./sshd_config:/etc/ssh/sshd_config:ro
启动服务:
bashdocker-compose up -d
sshd_config(高级配置)如需修改 SSH 服务核心配置(如禁用密码认证、限制登录IP等),可挂载自定义 sshd_config 文件:
本地创建 sshd_config 文件(示例配置):
iniPort 22 PermitRootLogin no # 禁止root登录 PasswordAuthentication no # 禁用密码认证(仅允许密钥) PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/authorized_keys AllowUsers operator # 仅允许operator用户登录 AllowTcpForwarding yes X11Forwarding no
启动容器时挂载配置文件:
bashdocker run -d \ --name linuxkit-sshd \ -p 2222:22 \ -e SSH_USER=operator \ -v ./sshd_config:/etc/ssh/sshd_config:ro \ # 挂载自定义配置 -v ~/.ssh/linuxkit_key.pub:/etc/ssh/authorized_keys:ro \ # 挂载公钥 linuxkit/sshd:latest
SSH_PASSWORD),优先采用密钥认证(SSH_PUBKEY),并限制 AllowUsers、AllowTcpForwarding 等权限。SSH_PORT)需与 -p 参数中的容器端口一致(如 SSH_PORT=2222 时,需映射 -p 2222:2222)。linuxkit/sshd:v0.8)而非 latest,避免版本更新导致配置兼容问题。docker logs linuxkit-sshd 查看 SSH 服务日志,排查登录失败等问题。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 linuxkit/sshd 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: