🌟 个人SSH密钥认证极简指南
适用于:个人VPS、毕业设计服务器、GitHub/GitLab连接
一、3分钟快速入门
1. 生成密钥(全部回车即可)
ssh-keygen -t ed25519 # 连按3次回车(不设密码/不改路径)
✅ 生成文件:
-
公钥:
~/.ssh/id_ed25519.pub
(发给服务器) -
私钥:
~/.ssh/id_ed25519
(像密码一样保密!)
2. 上传公钥到服务器
# 最简单方式(需当前能密码登录)
ssh-copy-id your_username@服务器IP
# 示例(连接学校的Ubuntu服务器):
ssh-copy-id classmate@202.120.100.25
📌 输入服务器密码后,会自动完成配置
二、必须做的安全设置
1. 关闭服务器密码登录(防暴力破解)
sudo nano /etc/ssh/sshd_config
修改以下参数:
PasswordAuthentication no # 找到这行改为no
🔧 生效配置:
sudo systemctl restart sshd
2. 权限检查(本地和服务器都要做!)
# 本地密钥权限
chmod 600 ~/.ssh/id_ed25519
# 服务器端检查
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
三、日常高效技巧
1. 给服务器起别名
创建或编辑 ~/.ssh/config
文件:
Host myserver
HostName 123.45.67.89
User ubuntu
Port 22
IdentityFile ~/.ssh/id_ed25519
```
💡 使用方式:
ssh myserver # 代替长命令
scp file.txt myserver:/home/ubuntu/ # 传文件
2. 多设备共享密钥
🔐 安全建议:
-
将
.ssh
文件夹压缩加密(用7-Zip+密码) -
在新设备导入后立即删除传输文件
-
禁止同时多人使用同一密钥
四、常见问题急救包
❗️ 连接出现"Permission denied"
ssh -v user@host # -v 查看详细错误
常见原因:
-
服务器
authorized_keys
文件权限不对 -
本地私钥路径错误(检查config文件)
-
服务器SSH服务未重启
🔑 忘记密钥密码怎么办?
👉 只能重新生成:
mv ~/.ssh/id_ed25519 ~/.ssh/old_key # 备份旧密钥
ssh-keygen -t ed25519 # 生成新密钥
```
然后重新上传公钥
五、特别提示
1. 结合VS Code远程开发
-
安装Remote - SSH扩展
-
按F1选择"Connect to Host..."
-
选择配置好的服务器别名
2. GitHub/GitLab集成
# 测试连接
ssh -T git@github.com
# 出现以下提示即成功:
Hi username! You've successfully authenticated...
📢 重要守则:
-
私钥绝不发送给任何人(包括邮件/微信)
-
笔记本加密硬盘(BitLocker/FileVault)
-
毕业或换电脑后及时撤销旧公钥
附:可视化流程图
生成密钥 → 上传公钥 → 关闭密码 → 配置别名 → 日常使用
↑ ↓
问题排查 ←── 备份密钥/配置文件 ←── 多设备同步