使用Docker安装openssh
摘要
偶然间突然有了需要把一个linux环境下的一个文件夹请别人ssh上来看的需求,于是直接用docker起个openssh-server
然后再把目录挂进去
首先需要用ssh-keygen
命令生成一对秘钥,再用如下命令
docker run -d \
--name=openssh-server \
--hostname=openssh-server \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e PUBLIC_KEY_FILE=/config/id_rsa.pub `#publi key` \
-e SUDO_ACCESS=true `#allow sudo` \
-e PASSWORD_ACCESS=false \
-e USER_NAME=user \
-p 22223:2222 \
-v /ssd-raid/openssh-server/config:/config \
-v /mnt/knl01:/mnt/knl01:ro \
--restart unless-stopped \
linuxserver/openssh-server
这里禁用了密码登录,并且上来之后可以使用sudo命令
但是上述方法的容器中有非常多的限制,还是使用一个完整的centos叭
docker run -d \
--name knl01-server \
--hostname=openssh-server \
-p 22223:22 \
--env "SSH_USER=tmpuser" \
--env "SSH_SUDO=ALL=(ALL) NOPASSWD:ALL" \
--env "SYSTEM_TIMEZONE=Asia/Shanghai" \
--env "SSH_AUTHORIZED_KEYS=/var/run/config/authorized_keys" \
-v /ssd-raid/openssh-server/centos/id_rsa.pub:/var/run/config/authorized_keys \
-v /mnt/knl01:/mnt/knl01:ro \
jdeathe/centos-ssh
然后再用一个frp映射到外网即可