SSH(Secure Shell)是远程管理服务器、Kubernetes 节点、CI/CD 运行器和 Linux 机器的标准协议。几乎所有云服务器都通过 SSH 进行管理,它是 DevOps 工作流的基础工具。
本文覆盖 SSH 的核心概念与实操:什么是 SSH、公钥与私钥的区别、如何生成密钥对、连接远程服务器、管理 SSH 配置、使用 SCP 安全传输文件。SSH 通过加密通信解决了 Telnet 等旧协议明文传输密码的问题。连接过程分两步:服务器身份验证(首次连接时确认指纹并存入 ~/.ssh/known_hosts)和用户认证(密码或密钥认证)。密钥认证是行业标准,私钥留在本地,公钥部署到服务器,无需输入密码且抗暴力破解。
生成密钥对使用ssh-keygen -t ed25519 -C "your_email@example.com",生成 id_ed25519(私钥,严禁分享)和 id_ed25519.pub(公钥,可安全分发)。将公钥添加到服务器有三种方式:云平台自动注入、ssh-copy-id命令、或手动追加到 ~/.ssh/authorized_keys。连接时使用ssh username@server_ip,指定密钥用-i参数。常见权限错误可通过chmod 400 key.pem修复。通过创建 ~/.ssh/config 文件可简化多服务器管理,例如配置 Host my-ec2-server 后直接ssh my-ec2-server即可连接。SCP 命令用于安全文件传输,语法与 cp 类似,远程路径格式为 user@host:/path。
SSH 是管理云基础设施、部署应用、配置 CI/CD 和排查生产问题的安全网关,掌握它是进入 AWS、Docker、Kubernetes、Terraform 等生态的基础。
#开发者 #工具 #SSH #DevOps #Linux #SCP #密钥认证
@DevToolboxHub
