使用docker部署sshd服务器
docker sshd服务器
使用docker运行包含完整sshd服务的Alpine容器,提供ssh、scp、sftp、rsync等服务。
初始化脚本
创建setup-user.sh,设置用户名密码,内容如下:
#!/bin/bash
set -e
# 设置root密码
root_pwd="123456"
echo "root:$root_pwd" | chpasswd
# 设置其他用户
username=user
user_pwd="123456"
echo "$username:$user_pwd" | chpasswd
docker-compose配置
[!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'
完整目录树如下:
docker-sshd
├─ docker-compose.yml
└─ entrypoint.d
└─ setup-user.sh
[!TIP]
启动容器后,可以删除文件
entrypoint.d/setup-user.sh,降低密码泄露风险。
其他
panubo/sshd也支持公钥免密登录、SFTP Only、SCP Only、Rsync Only等配置,详见github:docker-sshd

浙公网安备 33010602011771号