docker sshd服务器
使用docker运行包含完整sshd服务的Alpine容器,提供ssh、scp、sftp、rsync等服务。
初始化脚本
创建setup-user.sh
,设置用户名密码,内容如下:
# 设置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_sshdvolumes:- './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=trueports:- '2222:22'
完整目录树如下:
docker-sshd
├─ docker-compose.yml
└─ entrypoint.d└─ setup-user.sh
其他
panubo/sshd
也支持公钥免密登录、SFTP Only、SCP Only、Rsync Only等配置,详见github:docker-sshd