问题描述
某个网络是隔离的(出于安全原因),所以其中的主机、服务(MySQL Redis)都是对外隔离的,无法直接访问。
通过 SSH Server 来作为跳板机,通过 SSH Tunnel 来访问,所以我们才会在 Kubernetes 中部署 SSH 服务。
该笔记将记录:在 Kubernetes 中,如何部署 OpenSSH 服务,以及相关问题的解决方法。
解决方案
通过 OpenSSH Server 镜像
镜像:linuxserver/openssh-server – Docker Image | Docker Hub
通过 Helm 部署
ssh-bastion 1.0.0 · helm/t3n
helm-charts/ssh-bastion at master · t3n/helm-charts
bash – Openssh Private Key to RSA Private Key – Stack Overflow
但为了简便,我们通过 Helm 进行部署:ssh-bastion 1.0.0 · helm/t3n
ssh-keygen -p -N "" -m pem -f /path/to/host-key # 生成 Host Key(RSA PRIVATE KEY) # users.dummy:指定 SSH 公钥 # host.keys:用于创建 Host Key helm install ssh-bastion t3n/ssh-bastion \ --set users.dummy="$(cat /home/k4nz/.ssh/id_rsa.pub)" \ --set host.keys="$(cat /path/to/host-key)"