docker sshd服务器
使用docker运行包含完整sshd服务的Alpine容器,提供ssh、scp、sftp、rsync等服务。
初始化脚本
创建setup-user.sh
,设置用户名密码,内容如下:
docker-compose配置
#!/bin/bashset -e# 设置root密码root_pwd="123456"echo "root:$root_pwd" | chpasswd# 设置其他用户username=user
user_pwd="123456"echo "$username:$user_pwd" | chpasswd
[!NOTE]
SSH_USERS
变量中的用户名需要和setup-user.sh
中的用户名对应。
version: '3.9'services:
panubo:
image: 'quay.io/panubo/sshd:1.9.0'
container_name: docker_sshd
volumes:
- './entrypoint.d/:/etc/entrypoint.d/'
- './data:/home'
environment:
- SSH_ENABLE_PASSWORD_AUTH=true
- 'SSH_USERS=user:1000:1000'
- SSH_ENABLE_ROOT=true
- SSH_ENABLE_ROOT_PASSWORD_AUTH=true
ports:
- '2222:22'YAML复制全屏
完整目录树如下:
docker-sshd
├─ docker-compose.yml
└─ entrypoint.d
└─ setup-user.sh
[!TIP]
启动容器后,可以删除文件entrypoint.d/setup-user.sh
,降低密码泄露风险。