VPS无密码登录如何配置?_完整SSH密钥认证设置教程

如何实现VPS无密码登录?

配置步骤 主要操作 所需工具
生成密钥对 创建SSH公钥和私钥 ssh-keygen
上传公钥 将公钥复制到VPS ssh-copy-id
配置SSH 修改SSH配置文件 nano/vim
测试连接 验证无密码登录 ssh
禁用密码 关闭密码登录增强安全 nano/vim

微商引流推广SEO博客:如何通过优化内容吸引精准客户?

梁山企业如何低成本做SEO?这5家公司的优化方案真实有效

# VPS无密码登录如何配置?_完整SSH密钥认证设置教程
SSH密钥认证为VPS访问提供了比传统密码登录更安全、更便捷的方式。通过配置无密码登录,用户可以避免密码被暴力破解的风险,同时简化日常连接流程。

## 主要配置步骤概览

步骤序号 步骤名称 简要说明
1 生成SSH密钥对 在本地计算机创建公钥和私钥
2 上传公钥到VPS 将公钥复制到服务器的授权文件中
3 配置SSH服务 调整SSH服务端设置以支持密钥认证
4 测试无密码登录 验证配置是否成功
5 禁用密码登录(可选) 增强服务器安全性

## 详细操作流程

### 步骤1:生成SSH密钥对
**操作说明**:在本地计算机上生成RSA或Ed25519类型的SSH密钥对,包含公钥和私钥两个文件。
**使用工具提示**:使用系统自带的ssh-keygen命令,适用于Linux、macOS和Windows(WSL环境)。
```bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
```
**代码块模拟工具界面**:
```text
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_rsa
Your public key has been saved in /home/username/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:AbCdEfGhIjKlMnOpQrStUvWxYz0123456789 your_email@example.com
```

### 步骤2:上传公钥到VPS
**操作说明**:将生成的公钥文件内容复制到VPS服务器的`~/.ssh/authorized_keys`文件中。
**使用工具提示**:使用ssh-copy-id工具自动完成公钥上传,或手动复制粘贴。
```bash
ssh-copy-id -i ~/.ssh/id_rsa.pub username@your_vps_ip
```
**代码块模拟工具界面**:
```text
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed
Number of key(s) added: 1
Now try logging into the machine with: "ssh username@your_vps_ip"
```

### 步骤3:配置SSH服务
**操作说明**:修改VPS上的SSH服务配置文件,启用密钥认证并优化安全设置。
**使用工具提示**:使用文本编辑器如nano、vim或vi编辑SSH配置文件。
```bash
sudo nano /etc/ssh/sshd_config
```
**代码块模拟工具界面**:
```text

# 确保以下配置项正确设置
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # 仅在确认密钥登录正常后修改
PermitRootLogin prohibit-password
```
修改完成后重启SSH服务:
```bash
sudo systemctl restart sshd
```

### 步骤4:测试无密码登录
**操作说明**:从本地计算机连接VPS,验证是否无需输入密码即可登录。
**使用工具提示**:使用ssh命令连接服务器,系统应直接建立连接而无需密码提示。
```bash
ssh username@your_vps_ip
```
**代码块模拟工具界面**:
```text
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-91-generic x86_64)
Last login: Fri Oct 31 14:30:22 2025 from 192.168.1.100
username@vps-hostname:~$
```

山西SEO自学必备:3个内链优化技巧揭秘,让你的网站排名飙升

盘锦免费SEO诊断怎么做?_3个步骤获取专业网站优化建议

## 常见问题与解决方案

问题 可能原因 解决方案
连接时仍要求输入密码 1. 公钥未正确上传2. 文件权限设置错误3. SELinux限制 1. 检查authorized_keys文件内容2. 设置.ssh目录权限为700,authorized_keys为6003. 临时禁用SELinux测试:setenforce 0
“Permission denied”错误 1. 私钥权限过于开放2. 服务器SSH配置错误3. 防火墙阻止连接 1. 设置私钥权限:chmod 600 ~/.ssh/id_rsa2. 检查sshd_config中PubkeyAuthentication设置3. 确认防火墙允许SSH端口
服务器重启后无法连接 1. SSH服务未启动2. 磁盘空间不足3. 系统日志报错 1. 通过控制台登录检查SSH服务状态2. 清理磁盘空间3. 查看/var/log/auth.log获取详细信息
不同客户端连接问题 1. 密钥格式不兼容2. 客户端配置错误 1. 生成不同格式密钥:ssh-keygen -t ed255192. 检查客户端SSH配置文件和连接参数
密钥被拒绝 1. 服务器内存不足2. 认证超时3. 同时连接数限制 1. 释放服务器内存2. 增加客户端认证超时时间3. 检查服务器连接数限制设置

通过以上步骤,您可以成功配置VPS无密码登录,享受更安全、便捷的服务器管理体验。建议在完全确认密钥登录正常工作后再禁用密码认证,以防无法连接服务器。

发表评论

评论列表