SSH 远程连接
涵盖了 SSH 基础操作、工作原理 以及 Cursor 配置 Remote-SSH 的完整步骤
SSH 连接原理(简要)
SSH(Secure Shell)在不安全网络上建立加密的远程命令行通道,核心三步:
- 建立加密通道(握手)
- 服务器发送主机公钥给客户端(验证身份,防中间人攻击)。
- 客户端生成会话密钥(对称加密),用服务器公钥加密后发送。
- 双方使用该会话密钥加密后续所有通信。
- 用户身份验证
- 密码验证:通过加密通道传输密码。
- 公钥验证(推荐):客户端用私钥签名随机数,服务器用预先存放的公钥验证。无需传输密码,更安全。
- 执行命令 验证通过后,服务器启动 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_rsa3. 将公钥发给运维开通权限
- 你的公钥文件:
~/.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 中远程连接
- 按
F1打开命令面板。 - 输入
Remote-SSH: Connect to Host...并回车。 - 选择你配置的 Host(如
172.30.6.132或自定义别名)。 - Cursor 会新开一个窗口,底部状态栏显示“正在连接…”。
- 连接成功后,左侧文件树即为远程服务器的目录,可以像本地一样编辑、运行终端命令。
