云计算百科
云计算领域专业知识百科平台

【SSH】一行命令登录服务器:SSH Key + 配置文件全攻略

​在日常开发和科研中,我们经常需要登录远程服务器。每次敲 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 是 安全、专业、方便 的自动登录方式
  • 一行命令登录服务器,不再重复输入账号密码
  • 适合开发者、运维、科研人员
赞(0)
未经允许不得转载:网硕互联帮助中心 » 【SSH】一行命令登录服务器:SSH Key + 配置文件全攻略
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!