cmptstks/ssh本镜像提供一个功能完备的SFTP/SSH门户容器,集成了多种常用系统工具、数据库客户端及开发环境,旨在简化Docker容器的远程访问与操作流程,满足开发调试和日常运维需求。
bashdocker run -d \ --name ssh-portal \ -p 2222:22 \ # 主机端口2222映射到容器SSH端口22(避免与主机SSH冲突) -v /path/on/host:/data \ # 挂载主机目录到容器/data,实现文件持久化 -e SSH_USER=admin \ # 自定义SSH登录用户名(默认root) -e SSH_PASSWORD=SecurePass123 \ # 设置登录密码(生产环境建议使用密钥) [镜像名称]:[标签]
为提升安全性,优先使用SSH密钥认证:
~/.ssh/id_rsa.pub)bashdocker run -d \ --name ssh-portal \ -p 2222:22 \ -v /path/on/host:/data \ -v ~/.ssh/id_rsa.pub:/root/.ssh/authorized_keys:ro \ # 只读挂载公钥文件 [镜像名称]:[标签]
注意:确保挂载的公钥文件权限为600,所有者为root(可通过
chmod 600 ~/.ssh/id_rsa.pub调整)
yamlversion: '3' services: ssh-portal: image: [镜像名称]:[标签] container_name: ssh-portal ports: - "2222:22" # 端口映射 volumes: - ./host-data:/data # 本地目录挂载 - ./ssh-keys/id_rsa.pub:/root/.ssh/authorized_keys:ro # 密钥认证 environment: - SSH_USER=dev # 登录用户名 restart: unless-stopped # 容器退出时自动重启(非必要)
bashssh dev@localhost -p 2222 # 使用自定义用户(需替换dev为实际配置的SSH_USER) # 或使用root用户(默认) ssh root@localhost -p 2222
bashsftp -P 2222 dev@localhost # SFTP连接(端口参数为大写P)
| 参数/选项 | 描述 | 默认值 |
|---|---|---|
SSH_USER | SSH登录用户名 | root |
SSH_PASSWORD | 密码认证时的登录密码 | 无(未设置时需通过密钥登录) |
SSH_PORT | 容器内SSH服务端口 | 22 |
| 端口映射 | 主机端口:容器端口(如2222:22) | 无(需手动配置) |
| 数据卷挂载 | 主机目录:容器目录(如/host/data:/data) | 无(数据非持久化) |
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务