VSCode的Remote - SSH配置免密登录指南

发布时间 - 2025-12-31 00:00:00    点击率:
免密登录需依次完成五步:一、本地生成ed25519密钥对;二、用ssh-copy-id将公钥部署至远程authorized_keys;三、配置~/.ssh/config设置主机别名与密钥路径;四、VSCode中通过Remote-SSH扩展选择该别名连接;五、终端执行ssh别名验证是否免密。

如果您在使用 vscode 的 remote - ssh 扩展连接远程服务器时频繁输入密码,则可能是本地 ssh 密钥未正确配置或未与远程服务器的 authorized_keys 文件关联。以下是实现免密登录的具体操作步骤:

本文运行环境:MacBook Air,macOS Sequoia。

一、生成本地 SSH 密钥对

该步骤用于在本地机器创建一对加密密钥(私钥和公钥),私钥保存在本地,公钥将被部署到远程服务器以完成身份验证。

1、打开终端应用,执行命令:ssh-keygen -t ed25519 -C "your_email@example.com"

2、按回车键接受默认保存路径(通常为 ~/.ssh/id_ed25519)。

3、连续两次回车跳过密钥密码(passphrase)设置,实现完全无交互式登录。

二、将公钥复制到远程服务器

该步骤将本地生成的公钥内容追加至远程服务器用户主目录下的 ~/.ssh/authorized_keys 文件中,使服务器认可该密钥的身份凭证。

1、执行命令:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote_host,其中 user 为远程用户名,remote_host 为服务器 IP 或域名。

2、首次连接时输入远程用户密码完成认证。

3、确认远程服务器 ~/.ssh/authorized_keys 文件末尾已新增一行以 ssh-ed25519 开头的公钥内容。

三、配置本地 SSH 客户端别名

该步骤通过编辑本地 ~/.ssh/config 文件,为远程主机定义可读性强的别名及连接参数,便于 VSCode 快速识别并复用密钥。

1、执行命令:touch ~/.ssh/config && chmod 600 ~/.ssh/config

2、用文本编辑器打开该文件,添加以下内容:

Host myserver

HostName 192.168.1.100

User ubuntu

IdentityFile ~/.ssh/id_ed25519

3、保存文件,确保 HostName 和 User 值与实际远程环境一致。

四、在 VSCode 中配置 Remote - SSH 连接

该步骤利用 VSCode 的 Remote - SSH 扩展,通过已配置的 SSH 别名建立连接,触发密钥自动认证流程。

1、按下 Cmd+Shift+P(macOS)调出命令面板,输入并选择:Remote-SSH: Connect to Host...

2、从下拉列表中选择上一步配置的别名 myserver

3、等待 VSCode 自动启动远程服务器上的 VS Code Server,并加载工作区。

五、验证免密登录状态

该步骤通过直接使用 OpenSSH 客户端测试连接,确认密钥机制是否生效,排除 VSCode 扩展层干扰。

1、在终端中执行:ssh myserver

2、若未提示输入密码即进入远程 shell,则密钥认证成功。

3、如仍要求密码,请检查远程服务器 ~/.ssh 目录权限是否为 700,authorized_keys 文件权限是否为 600。


# vscode  # ubuntu  # macbook  # mac  # ai  # macos  # vs code  # cos  # copy  # ssh  # 公钥  # 输入密码  # 客户端  # 运行环境  # 首次  # 两次  # 将被  # 您在  # 按下  # 则可 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何快速生成高效建站系统源代码?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  如何用JavaScript实现文本编辑器_光标和选区怎么处理  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在阿里云香港服务器快速搭建网站?  Python并发异常传播_错误处理解析【教程】  如何在阿里云完成域名注册与建站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何挑选优质建站一级代理提升网站排名?  在线制作视频网站免费,都有哪些好的动漫网站?  如何在阿里云高效完成企业建站全流程?  如何获取免费开源的自助建站系统源码?  Laravel如何实现文件上传和存储?(本地与S3配置)  如何生成腾讯云建站专用兑换码?  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel如何创建自定义中间件?(Middleware代码示例)  bing浏览器学术搜索入口_bing学术文献检索地址  使用C语言编写圣诞表白程序  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何快速搭建二级域名独立网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何快速查询域名建站关键信息?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  原生JS获取元素集合的子元素宽度实例  Laravel如何配置和使用缓存?(Redis代码示例)  如何在Windows服务器上快速搭建网站?  如何在搬瓦工VPS快速搭建网站?  网站图片在线制作软件,怎么在图片上做链接?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何快速配置高效服务器建站软件?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  智能起名网站制作软件有哪些,制作logo的软件?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何续费美橙建站之星域名及服务?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何在香港免费服务器上快速搭建网站?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  怎么用AI帮你为初创公司进行市场定位分析?  如何实现建站之星域名转发设置?  常州企业网站制作公司,全国继续教育网怎么登录?