on Linux | with Source Code
参考 BLFS/OpenSSH-7.3p1 说明
on Linux | with Package Manager
on Debian
# Server 端,提供 sshd 等命令。 apt-get install openssh-server # Client 端,提供 ssh 等连接 SSH 服务、创建证书的命令。 apt-get install openssh-client
on Windows (2019/02/04)
实际上有两种办法:
1)旧系统可以下载二进制安装包,参考 Install Win32 OpenSSH 笔记;
2)对于 Windows Server 2019 or Windows 10+ 可以直接安装,参考官方文档 Installing OpenSSH from the Settings UI on Windows Server 2019 or Windows 10 1809 中的说明;
补充说明:若仅需要客户端工具,则可以考虑 XShell、SecureCRT 等等工具,或 Windows 系统自带的 SSH 命令,细节这里不再赘述。
on Kubernetes
某个网络是隔离的(出于安全原因),所以其中的主机、服务(MySQL Redis)都是对外隔离的,无法直接访问。
通过 SSH Server 来作为跳板机,通过 SSH Tunnel 来访问,所以我们才会在 Kubernetes 中部署 SSH 服务。
该笔记将记录:在 Kubernetes 中,如何部署 OpenSSH 服务,以及相关问题的解决方法。
通过 OpenSSH Server 镜像
镜像:linuxserver/openssh-server – Docker Image | Docker Hub
with Helm | by djjudas21/charts
仓库:https://artifacthub.io/packages/helm/djjudas21/openssh-server
helm repo add djjudas21 https://djjudas21.github.io/charts/ helm repo update djjudas21 helm pull djjudas21/openssh-server helm show values ./openssh-server-0.1.14.tgz > openssh-server-0.1.14.tgz.helm-values.yaml vim openssh-server-0.1.14.tgz.helm-values.yaml ... image: ... env.passwordAccess: ... env.userPassword: ... env.userName: helm upgrade --install \ ssh-bastion ./openssh-server-0.1.14.tgz -f openssh-server-0.1.14.tgz.helm-values.yaml
废弃 | with Helm | by t3n/ssh-bastion
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
helm repo add t3n https://storage.googleapis.com/t3n-helm-charts helm repo update t3n helm pull t3n/ssh-bastion helm show values ./ssh-bastion-1.0.0.tgz > ssh-bastion-1.0.0.tgz.helm-values.yaml vim ssh-bastion-1.0.0.tgz.helm-values.yaml ... image: ... extraEnvs.USER: "ubuntu" ... service: ... users.ubuntu: ... host.keys: helm upgrade --install ssh-bastion \ ./ssh-bastion-1.0.0.tgz -f ssh-bastion-1.0.0.tgz.helm-values.yaml 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)"
# 05/19/2025 当启动时,容器无法修改 Private Key 权限,进而导致无法正常工作。
安装的可执行程序
BLFS/OpenSSH-7.3p1
scp,是一个文件复制程序,其作用类似于 rcp,但 scp 使用加密协议。
sftp,是一个类似 FTP 的程序,适用于 SSH1 和 SSH2 协议。
slogin,是 ssh 的符号链接。
ssh,是一个类似于 rlogin/rsh 的客户端程序,除了它使用加密协议。
sshd,是一个监听 SSH 登录请求的守护进程。
ssh-copy-id,是一个脚本,使用本地密钥来启用远程计算机上的登录。
ssh-keygen,用于创建密钥的工具。
ssh-keyscan,是一个用于从多个主机收集公共主机密钥的实用程序。
ssh-add,是一个向 ssh-agent 添加密钥的工具。
ssh-agent,是一个可以存储私钥的身份验证代理。