在日常开发和科研中,我们经常需要登录远程服务器。每次敲 ssh user@server 然后输入密码,重复、枯燥,而且一不小心密码输错就得重来——这种体验,简直是效率杀手。
其实,只要你掌握 SSH Key + 配置文件,完全可以做到:一行命令登录服务器,安全又高效,从此告别密码输入。
本文就带你从原理到实操,一步步搞定。

一、SSH Key:密码的“安全升级版”
首先要理解 SSH Key 的原理:
- 公钥 (id_ed25519.pub):可以公开,放在服务器上
- 私钥 (id_ed25519):必须保存在本地,绝不能泄露
直观来说,私钥像你的门钥匙,公钥像门锁。服务器用公钥验证你的身份,如果匹配,就自动开门,你不再需要密码。
这不仅安全,而且让工具如 Cursor 自动登录服务器时,也能直接识别,无需重复输入账号密码。
二、生成 SSH Key
在本地生成一把新的 SSH Key 非常简单:
ssh-keygen -t ed25519 -C "your_email@example.com"
-
-t ed25519:推荐现代加密算法
-
按回车使用默认路径即可
-
可以设置密码保护私钥(可选)
生成完成后,你会在 ~/.ssh 目录下看到两个文件:id_ed25519(私钥)和 id_ed25519.pub(公钥)。
三、将公钥上传到服务器
最简单的方式是:
ssh-copy-id user@xxx.vpn
如果没有 ssh-copy-id,也可以手动:
cat ~/.ssh/id_ed25519.pub | ssh user@xxx.vpn "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
- 提醒:服务器上 .ssh 文件夹权限必须安全,否则 SSH 会拒绝使用
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
四、配置 SSH快捷登录
SSH Key 已经搞定,但每次还敲 ssh user@server,输入长地址,也不够方便。
这时候,~/.ssh/config 就派上用场了:
Host xxx.vpn
HostName xxx.vpn
User your_username
IdentityFile ~/.ssh/id_ed25519
- Host:你想输入的快捷命令
- HostName:真实服务器地址或 IP
- User:登录用户名
- IdentityFile:私钥路径
4.1 常规测试
配置好后,你只需要:
ssh xxx.vpn
就可以 自动登录,无需输入密码和用户名。
4.2 在 cursor 里添加新的远程连接
- 选择 SSH 方式
- Host 名称填写 xxx.vpn(和 config 中的 Host 对应)
- cursor 会自动读取 User、KeyPath 等信息
- 测试连接即可,无需再输入密码
5. 进阶技巧
5.1 保持连接活跃
在 ~/.ssh/config 中添加:
ServerAliveInterval 60
ServerAliveCountMax 3
防止长时间未操作时断开连接。
5.2 多服务器管理 / 跳板机
如果你有跳板机或多台服务器:
Host jump
HostName jump.vpn
User your_username
Host gpu-server
HostName 10.0.0.12
User ray
ProxyJump jump
之后直接:
ssh gpu-server
就可以通过跳板机一键连接目标服务器。
5.3 macOS 密钥管理
macOS 可以把私钥密码存入钥匙串,避免每次输入:
ssh-add –apple-use-keychain ~/.ssh/id_ed25519
6. 不推荐的方式
- 明文保存密码
- expect 自动输密码
- shell alias 里写密码
安全性和可维护性都很差,最好避免。
7. 总结
- SSH Key + Config 是 安全、专业、方便 的自动登录方式
- 一行命令登录服务器,不再重复输入账号密码
- 适合开发者、运维、科研人员
网硕互联帮助中心






评论前必须登录!
注册