解决VSCode使用Remote SSH连接远程服务器免密登陆

news2025/2/4 8:47:04

在这里插入图片描述

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。
📗本文收录于杂项系列,大家有兴趣的可以看一看
📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
📙Java并发编程系列,设计模式系列、go web开发框架 系列正在发展中,喜欢Java,GoLang,Rust,的朋友们可以关注一下哦!

文章目录

  • 起因
  • 解决方式
  • 生成密钥
    • windos获取步骤
  • 配置SSH密钥
  • 生成公钥
  • 找到公钥
  • 添加公钥到远程服务器
  • 配置 SSH 客户端
  • 总结

起因

因为最近在做小练习,需要用到linux进行编译,本人的电脑又过于垃圾,于是便租了一台服务器,用VSCode+Remote SSH使用用开发。但在使用过程中,用传统的密码方式,只要转跳到一个新文件夹就会要求重新输入密码。十分影响开发体验和开发效率。于是便有了这篇文章的诞生。

解决方式

为了解决重复输入密码的问题,我们必须采用ssh的登陆方式。接下来便会介绍如何解决这个问题。

生成密钥

由于我们是使用 SSH 连接远程服务器,因此 Windows 需要支持 SSH 。
可以使用 Win + R ,输入 cmd 打开控制窗口,直接输入 ssh ,如下提示,则代表 SSH 已经安装成功;
在这里插入图片描述
如果没有安装可以通过安装git获取,也可以windos直接获取。

windos获取步骤

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
安装成功之后记得通过ssh查看是否安装成功。

配置SSH密钥

目的:将本机添加到远程服务器连接白名单,让服务器知道是已认证的电脑在连接。过程类似于 GitHub 网站添加本地电脑的 SSH 公钥。

生成公钥

使用如下命令,生成 SSH 公钥文件。如果已经生成,则可直接使用,跳到步骤二。

# 方法一
ssh-keygen

# 方法二,参考使用Git生成密钥
ssh-keygen -t rsa -C "youremail@example.com"


# 方法三,直接在指定的文件夹下生成
ssh-keygen -t rsa -b 2048 -f C:\Users\YourUsername\.ssh\id_rsa_windows

输入命令后一路回车

找到公钥

一般生成的密钥文件,路径为:C:\Users\user.ssh ,找到公钥文件 id_rsa.pub ,复制到远程服务器 根目录 的 .ssh 文件夹中。

(1)根目录,不一定非要是 /.ssh 路径,可以是自己的用户目录,类似这样:/onenewcode/.ssh。

(2).ssh 文件夹没有怎么办?新建一个文件夹,命名为 .ssh 即可。同时要确认远程服务器是否支持 SSH ,如果此时正是通过 SSH 方式连接的,那肯定是支持了。

添加公钥到远程服务器

将生成的公钥( id_rsa_windows.pub的内容)添加到你远程服务器的 authorized_keys 文件中,以允许连接。

可以使用以下方法之一:

  1. 使用 scp 命令:使用 scp 命令将公钥文件传输到远程服务器,在远程服务器上,将公钥内容追加到 authorized_keys 文件,但是本人不建议使用scp发送,这样会对自己机器或者对方机器的原有配置造成覆盖或是丢失,存在风险。
  2. 手动复制:手动复制公钥文件 (id_rsa_windows.pub) 的内容,然后登录到远程服务器,并将内容粘贴到 authorized_keys 文件。如下是我生成的id_rsa_windows.pub文件内容:

在远程服务器上,authorized_keys 文件通常存储在用户的 .ssh 目录中。具体路径可能为 ~/.ssh/authorized_keys。例如我的用户名是 onenewcode,那么 authorized_keys 文件的路径可能是 /home/onenewcode/.ssh/authorized_keys 。
如果你的.ssh目录或者 authorized_keys 文件不存在,你可以在服务器终端使用以下命令创建它:

 # 创建目录
 mkdir ~/.ssh
 # 进入目录
 cd ~/.ssh
 # 创建 authorized_keys 文件
 touch authorized_keys
 # 使用文本编辑器打开 authorized_keys 文件,并将你的公钥内容粘贴到其中
vim authorized_keys
 # 保存并关闭文本编辑器。

注意如果我们已经可以连接上服务器则可以先用密码在vscode登陆上,采用图形化界面操作,上述步骤。

配置 SSH 客户端

打开你的 SSH 客户端(本机)配置文件(也就是前面生成的config文件,一般在C:\Users\YourUsername.ssh\config),添加配置(IdentityFile 私钥文件路径),以指定使用哪个私钥文件。只需要把IdentityFile 下的路径改成自己需要的就行了,其它的内容请看下面的格式介绍。

Host 华为云 
    HostName 10.36.134.163
    User root
    IdentityFile C:\Users\29071\.ssh\id_rsa_windows

Host <远程主机名称1>
HostName <远程主机1 IP>
User <用户名1>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
ForwardAgent yes <VSCode 自己添加的,不用管>

总结

这样我们就可以不必在文件夹中跳转一次次的重新输入密码了。真是美滋滋。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Redis】Redis集群方案应该怎么做 都有哪些方案

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Redis ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 &#xff08;1&#xff09;twemproxy &#xff08;2&#xff09;codis &#xff08;3&#xff09;redis cluster3.0自带的集群 …

【每日一题】7.LeetCode——合并两个有序链表

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》|《数据结构与算法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有限&#xff0c;欢…

C语言系列-联合

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 目录 联合体 联合体类型的声明 联合体的特点 相同成员的结构体和联合体对比 联合体大小的计算 联合的一个练习 联合体 联合体类型的声明 像结构体一样&#xff0c;联合体也是由…

高并发术语—吞吐量

现在面试一圈&#xff0c;都要讲讲高可用&#xff0c;高并发&#xff0c;高性能&#xff0c;如果不说上两句&#xff0c;对不起自己程序员的身份。 但是小公司哪里有那么大的并发量供你学习和调试呢&#xff0c;还是要从市面上的内容来学习这些概念 响应时间response time 请…

PFA氟气吸收装装置耐强酸PFA气体洗涤装置本底纯净

PFA氢气吸收装置在PFA尾气处理中扮演着重要的角色。PFA&#xff08;可溶性聚四氟乙烯&#xff09;是一种聚合物材料&#xff0c;具有良好的化学惰性和耐腐蚀性。在半导体工业过程中&#xff0c;PFA尾气中可能含有氢气等有害气体&#xff0c;需要进行处理以确保环境安全和合规性…

Linux进程信号处理:深入理解与应用(1)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;its 6pm but I miss u already.—bbbluelee 0:01━━━━━━️&#x1f49f;──────── 3:18 &#x1f504; ◀️…

【架构】Docker实现集群主从缩容【案例4/4】

实现集群主从缩容【4/4】 接上一节&#xff0c;在当前机器为4主4从的架构上&#xff0c;减缩容量为3主3从架构。即实现删除6387和6388. 示意图如下&#xff1a; 第一步&#xff1a;查看集群情况&#xff08;第一次&#xff09; redis-cli --cluster check 127.0.0.1:6387roo…

前端性能优化:Vue项目打包后app.xxx.js 和 chunk-vendors.xxx.js 文件太大,导致页面加载时间太长

问题场景&#xff0c;如下图&#xff0c;环境上的 app.js 和chunk-vendors.js 两个文件大小&#xff0c;高达3.4M 和 2M &#xff0c;加载所耗费的时间也很长。 下面说一下如何解决&#xff1a; 1、首先需要安装插件 compression-webpack-plugin&#xff0c;我这里用的是6.1.1…

Java多线程--避免同步机制带来的死锁问题及用Lock锁解决线程安全问题

文章目录 一、死锁&#xff08;1&#xff09;说明&#xff08;2&#xff09;案例1、案例12、案例23、案例3 &#xff08;3&#xff09;诱发死锁的原因及解决方案1、诱发死锁的原因2、避免死锁 二、JDK5.0新特性&#xff1a;Lock(锁)&#xff08;1&#xff09;介绍&#xff08;2…

C++集群聊天服务器 网络模块+业务模块+CMake构建项目 笔记 (上)

跟着施磊老师做C项目&#xff0c;施磊老师_腾讯课堂 (qq.com) 一、网络模块ChatServer chatserver.hpp #ifndef CHATSERVER_H #define CHATSERVER_H#include <muduo/net/TcpServer.h> #include <muduo/net/EventLoop.h> using namespace muduo; using namespace …

Qt6入门教程 15:QRadioButton

目录 一.简介 二.常用接口 三.实战演练 1.径向渐变 2.QSS贴图 3.开关效果 4.非互斥 一.简介 QRadioButton控件提供了一个带有文本标签的单选按钮。 QRadioButton是一个可以切换选中&#xff08;checked&#xff09;或未选中&#xff08;unchecked&#xff09;状态的选项…

深信服技术认证“SCCA-C”划重点:深信服云计算关键技术

为帮助大家更加系统化地学习云计算知识&#xff0c;高效通过云计算工程师认证&#xff0c;深信服特推出“SCCA-C认证备考秘笈”&#xff0c;共十期内容。“考试重点”内容框架&#xff0c;帮助大家快速get重点知识。 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08…

SG2520CAA汽车用晶体振荡器

爱普生SG2520CAA是简单的封装晶体振荡器&#xff08;SPXO&#xff09;&#xff0c;具有CMOS输出&#xff0c;这款SPXO是汽车和高可靠性应用的理想选择&#xff0c;符合AEC-Q200标准&#xff0c;功耗低&#xff0c;工作电压范围为1.8 V ~ 3.3 V类型&#xff0c;宽工作温度-40℃~…

binder android

文心一言的回答 Binder驱动是Android操作系统中用于进程间通信&#xff08;IPC&#xff09;的机制。它提供了一种高效、跨进程的数据传输方式&#xff0c;使得应用程序的不同组件可以在Android系统上互相通信。 Binder驱动基于Linux内核&#xff0c;其核心组件是一个称为Bind…

git小白之路

初始配置 配置账号密码 git config --list # 设置git的name git config --global user.name "determination" # 设置git的邮箱 git config --global user.email "XXXX.XX.conm" 配置ssh-key ssh-keygen -t rsa -C "usernameemail.com" 添…

活用社交媒体生成二维码:拓展品牌影响力的新时代

社交媒体二维码为品牌在社交媒体平台上的拓展和互动提供了全新的可能性。在这个信息爆炸的时代&#xff0c;如何巧妙地应用社交媒体二维码&#xff0c;成为品牌拓展影响力、与用户建立深度互动的关键。本文将探讨如何精明地应用社交媒体生成二维码&#xff0c;为品牌带来更多的…

来看看思特数字创意产业的科技与狠活儿~ 冰雪大世界图集

01    哈尔滨冰雪大世界以“龙腾冰雪 逐梦亚冬”为主题&#xff0c;为世界各地游客打造一座集冰雪艺术、冰雪文化、冰雪演艺、冰雪建筑、冰雪活动、冰雪体育于一体的冰雪乐园。      02    服务商思特数字创意公司构建“龙腾之韵、雪城乐章、跳动音符、雪映流光”四…

leetcode-35.搜索插入位置

题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入…

幻兽帕鲁服务器搭建

获取服务器 有如下方法&#xff1a; 阿里云提供现成的幻兽帕鲁服务器&#xff0c;支持一键部署和升级。购买通用服务器或利用已有的主机&#xff0c;配置幻兽帕鲁服务。 第一种可以零代码实现&#xff0c;本文不作赘述&#xff0c;本文主要介绍如何通过已有的Linux服务器实现…

时间序列预测 —— TCN模型

时间序列预测 —— TCN模型 卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;在图像处理等领域取得了显著的成就&#xff0c;一般认为在处理时序数据上不如RNN模型&#xff0c;而TCN&#xff08;Temporal Convolutional Network&#xff09;…