服务器租用登录指南:SSH远程连接与密钥验证
一、SSH连接基础概念
SSH(Secure Shell)协议是用于安全远程登录和数据传输的应用层协议,采用TCP 22端口进行加密通信。与传统的密码验证相比,密钥验证通过非对称加密技术实现更安全的身份认证机制。
密钥验证核心流程包含:
- 客户端生成RSA/ED25519密钥对
- 公钥部署至服务器
authorized_keys
文件 - 客户端使用私钥进行连接认证
二、生成SSH密钥对
推荐使用ED25519算法生成密钥对,执行以下命令:
- 打开终端输入:
ssh-keygen -t ed25519 -C "your_email@example.com"
- 指定密钥保存路径(默认
~/.ssh/id_ed25519
) - 设置密钥保护密码(可选)
算法类型 | 公钥文件 | 安全等级 |
---|---|---|
ED25519 | id_ed25519.pub | 推荐 |
RSA 4096 | id_rsa.pub | 兼容性好 |
三、配置服务器密钥验证
完成密钥生成后,需将公钥部署至目标服务器:
- 使用
ssh-copy-id user@host
自动部署 - 或手动创建
~/.ssh/authorized_keys
文件 - 设置文件权限:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
服务器端需确保sshd配置:
PubkeyAuthentication yes
PasswordAuthentication no
(推荐禁用密码登录)
四、连接测试与故障排查
执行连接命令验证配置:
ssh -i ~/.ssh/id_ed25519 user@host
- 添加
-v
参数显示详细连接日志 - 检查服务器防火墙设置和SELinux状态
常见错误解决方案:
- 权限错误:确保.ssh目录权限为700
- 连接超时:检查网络策略和端口开放状态
- 认证失败:验证公钥是否完整复制