K8s 由于没有暴露用于 ssh 的 22 端口,无法使用 ssh 传输文件。这时可以安装 linuxserver/openssh-server
,通过共享存储卷,实现文件传输功能。
官网地址:https://hub.docker.com/r/linuxserver/openssh-server
配置
Docker Compose 配置如下:
services:
openssh-server:
image: lscr.io/linuxserver/openssh-server:latest
container_name: openssh-server
hostname: openssh-server #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- PUBLIC_KEY=yourpublickey #optional
- PUBLIC_KEY_FILE=/path/to/file #optional
- PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys #optional
- PUBLIC_KEY_URL=https://github.com/username.keys #optional
- SUDO_ACCESS=false #optional
- PASSWORD_ACCESS=false #optional
- USER_PASSWORD=password #optional
- USER_PASSWORD_FILE=/path/to/file #optional
- USER_NAME=linuxserver.io #optional
- LOG_STDOUT= #optional
volumes:
- /path/to/openssh-server/config:/config
ports:
- 2222:2222
restart: unless-stopped
PUBLIC_KEY
PUBLIC_KEY_FILE
PUBLIC_KEY_DIR
PUBLIC_KEY_URL
:可以不用配置,只需挂载/config
目录,容器会自动生成并重启。TZ=Etc/UTC
:时区。无需更改。PUID
PGID
:用户 ID,和用户组 ID。可以根据情况修改。PASSWORD_ACCESS
:是否允许密码访问。设置成true
,并设置USER_NAME
USER_PASSWORD
即使用用户名、密码登录。SUDO_ACCESS
:是否允许使用sudo
切换成root
用户。USER_PASSWORD_FILE
LOG_STDOUT
:无需配置。端口是
2222
。