当前位置: 首页 > news >正文

【Cursor/Vscode】SSH免密登录 - 教程

【Cursor/Vscode】SSH免密登录 - 教程

SSH免密

在日常开发和运维工作中,频繁连接远程服务器登录并输入密码,不仅繁琐,还存在安全隐患。配置免密登录,能极大提升工作效率与安全性。本文将详细介绍如何在 Windows 主机(本地)与 Ubuntu 主机(远程)之间,通过 SSH 实现 Cursor / Vscode 的免密登录。

SSH插件安装

通过Extensions安装Romote - SSH插件

在这里插入图片描述

添加 SSH 主机,Ctrl + Shift + P,输入ssh,选择:Remote-SSH: Connect to Host,第一次选择:Add New SSH Host,使用 SSH 命令连接到 Ubuntu 远程主机,命令格式为ssh username@remote_host_ip,将username替换为你的远程主机用户名,remote_host_ip替换为远程主机的 IP 地址:

ssh username@remote_host_ip

输入密码,登录成功,第二次登录可以直接选择连接过的host进行连接。

在这里插入图片描述

设置免密登录

1.本地生成密钥对

使用 rsa生成密钥对:

ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\24/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

全部回车,会在C:\Users\你的用户名下/.ssh/生成私钥id_rsa,公钥id_rsa.pub。

2.上传公钥到服务器

cmd查看密钥:

type %USERPROFILE%\.ssh\id_rsa.pub

powershell查看密钥:

Get-Content $env:USERPROFILE\.ssh\id_rsa.pub

复制显示的公钥内容,服务器上运行:

vim ~/.ssh/authorized_keys

粘贴公钥内容,保存退出。接着设置authorized_keys文件的权限,确保只有当前用户可读可写:

chmod 600 ~/.ssh/authorized_keys

设置.ssh目录权限:为保证安全,还需设置.ssh目录的权限:

chmod 700 ~/.ssh

3.配置config文件

Ctrl + Shift + P,输入ssh,选择:Remote-SSH: Connect to Host,再选择Configure SSH Hosts

在这里插入图片描述

Host 192.168.254.129
HostName 192.168.254.129
User fakerth
Port 22
IdentityFile C:\Users\你的用户名\.ssh\id_rsa

4.测试是否成功

Ctrl + Shift + P,输入ssh,选择:Remote-SSH: Connect to Host,选择之前添加的主机192.168.254.129,不需要再次输入密码即设置免密登录成功。

5.常见问题及解决方法​

权限问题:如果出现 “Permissions 0644 for ‘/home/username/.ssh/authorized_keys’ are too open.” 的错误提示,说明authorized_keys文件权限过大,可使用chmod 600 ~/.ssh/authorized_keys命令将权限修改为正确值。​

密钥未生效:若仍然需要输入密码登录,可检查公钥是否正确添加到authorized_keys文件中,确保文件中没有多余的空格或换行。也可以在 Ubuntu 远程主机上查看/var/log/auth.log日志文件,查找相关错误信息进行排查。

http://www.hskmm.com/?act=detail&tid=19799

相关文章:

  • python 超长代码行如何换行,符合PEP 8规范?
  • Gitee崛起:中国开发者迎来本土化研发平台新纪元
  • 关键领域软件研发知识管理的范式革命:从静态文档到智能图谱的跃迁
  • 【IEEE出版、曾获中国科协认证】第六届机械工程、智能制造与自动化技术国际学术会议 (MEMAT 2025)
  • 时间同步NTP服务
  • 【WCH蓝牙系列芯片】-基于CH585开发板—IO口(GPIO)外部中断唤醒蓝牙睡眠模式
  • 【2025-09-26】奋斗逻辑
  • 【Linux基础知识系列:第一百四十篇】理解SELinux与系统安全 - 教程
  • 关于修改 linux 系统中优先使用中文结构
  • Discord桌面应用远程代码执行漏洞分析
  • DRL模型训练:原始奖励函数记录以及绘制
  • 中国DevOps平台竞品分析:安全合规与技术生态的双重较量
  • experiment 1
  • 图领域的METIS算法介绍 - zhang
  • CANOpen safety SRDO相关问题总结
  • Prometheus源码专题【左扬精讲】—— 监控系统 Prometheus 3.4.0 源码解析:head_wal.go 的 WAL 写入策略与缓存管理源码解读
  • 电子通信词汇中英文对照
  • 平衡树
  • 完整教程:【有源码】基于Hadoop+Spark的AI就业影响数据分析与可视化系统-AI驱动下的就业市场变迁数据分析与可视化研究-基于大数据的AI就业趋势分析可视化平台
  • Tomcat中启用h3的方法是什么
  • k8s-Namespace
  • 国产化Excel开发组件Spire.XLS教程:C# 写入 Excel ,轻松将数据导出到工作表
  • 牛客刷题-Day6
  • 数字化转型浪潮下:10款主流项目管理工具横向测评与选型指南
  • 借助Aspose.Email,使用 Python 将 EML 转换为 MHTML
  • python+springboot+django/flask的医院食堂订餐系统 菜单发布 在线订餐 餐品管理与订单统计系统 - 教程
  • 计算机网络学习笔记 - 浪矢
  • 数据结构以及LeetCode常用方法 - 浪矢
  • App Store 上架完整流程解析,iOS 应用发布步骤、ipa 文件上传工具、TestFlight 测试与苹果审核经验
  • 使用 Zig 编写英文数字验证码识别工具