个人SSH密钥认证极简指南

5 阅读2分钟

🌟 个人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. 多设备共享密钥 

🔐 安全建议: 

  1. .ssh文件夹压缩加密(用7-Zip+密码) 

  2. 在新设备导入后立即删除传输文件 

  3. 禁止同时多人使用同一密钥 


 

四、常见问题急救包 

❗️ 连接出现"Permission denied" 


ssh -v user@host  # -v 查看详细错误 

常见原因: 

  1. 服务器authorized_keys文件权限不对 

  2. 本地私钥路径错误(检查config文件) 

  3. 服务器SSH服务未重启 

 

🔑 忘记密钥密码怎么办? 

👉 只能重新生成: 


mv ~/.ssh/id_ed25519 ~/.ssh/old_key  # 备份旧密钥 

ssh-keygen -t ed25519  # 生成新密钥 

``` 

然后重新上传公钥 


五、特别提示 

 

1. 结合VS Code远程开发 

  1. 安装Remote - SSH扩展 

  2. 按F1选择"Connect to Host..." 

  3. 选择配置好的服务器别名 

 

2. GitHub/GitLab集成 


# 测试连接 

ssh -T git@github.com 

 

# 出现以下提示即成功: 

Hi username! You've successfully authenticated... 

 


 

📢 重要守则: 

  1. 私钥绝不发送给任何人(包括邮件/微信) 

  2. 笔记本加密硬盘(BitLocker/FileVault) 

  3. 毕业或换电脑后及时撤销旧公钥 

 

附:可视化流程图 


生成密钥 → 上传公钥 → 关闭密码 → 配置别名 → 日常使用 

   ↑                                ↓ 

问题排查 ←── 备份密钥/配置文件 ←── 多设备同步