Skip to content

SSH 远程连接

涵盖了 SSH 基础操作、工作原理 以及 ​Cursor 配置 Remote-SSH 的完整步骤

SSH 连接原理(简要)

SSH(Secure Shell)在不安全网络上建立加密的远程命令行通道,核心三步:

  1. 建立加密通道(握手)
    • 服务器发送主机公钥给客户端(验证身份,防中间人攻击)。
    • 客户端生成​会话密钥​(对称加密),用服务器公钥加密后发送。
    • 双方使用该会话密钥加密后续所有通信。
  2. 用户身份验证
    • 密码验证:通过加密通道传输密码。
    • 公钥验证(推荐):客户端用私钥签名随机数,服务器用预先存放的公钥验证。无需传输密码,更安全。
  3. 执行命令 验证通过后,服务器启动 Shell 会话,所有输入输出均通过加密通道传输。

形象比喻:先挖一条“秘密隧道”(加密通道),然后在隧道里出示“证件”(密码或私钥签名),最后安全地远程指挥服务器干活。

Cursor 配置 Remote-SSH 连接远程服务器

1. 安装 Remote-SSH 插件

2. 编辑 SSH 配置文件

本地配置文件路径:~/.ssh/config

Host 172.30.6.132
    HostName 172.30.6.132
    User root
    IdentityFile ~/.ssh/id_rsa

3. 将公钥发给运维开通权限

  • 你的公钥文件:~/.ssh/id_rsa.pub
  • 公钥内容完整发送给运维人员。
  • 运维会将其添加到服务器的 ~/.ssh/authorized_keys 中,实现免密登录。

若希望自行测试,可用 ssh-copy-id user@host 命令(需服务器密码权限)。

4. 测试本地 SSH 连接

bash
ssh -T 172.30.6.132
  • 首次连接会提示确认服务器指纹,输入 yes
  • 若直接登录成功(或显示欢迎信息),说明免密配置生效。
  • 若报错 Permission denied (publickey),请检查:
    • 运维是否已正确添加公钥。
    • 服务器上 ~/.ssh/authorized_keys 权限是否为 600~/.ssh 目录权限是否为 700
    • 本地私钥路径和权限是否正确

5. 在 Cursor 中远程连接

  1. F1 打开命令面板。
  2. 输入 Remote-SSH: Connect to Host... 并回车。
  3. 选择你配置的 Host(如 172.30.6.132 或自定义别名)。
  4. Cursor 会新开一个窗口,底部状态栏显示“正在连接…”。
  5. 连接成功后,左侧文件树即为远程服务器的目录,可以像本地一样编辑、运行终端命令。
Image

转载或 CV 自 maomao1996