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


在这里插入图片描述

📕作者简介: 过去日记,致力于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.163User rootIdentityFile C:\Users\29071\.ssh\id_rsa_windows

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

总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis -- 常用数据结构,认识数据类型和编码方式

"人生就像骑自行车&#xff0c;要保持平衡&#xff0c;就必须保持前进。" — 爱因斯坦 说到数据结构&#xff0c;或许就能想到哈希表&#xff0c;列表集合等数据结构。对于redis来说对应的key的value的形式也可以是这些数据结构&#xff0c;如下&#xff1a; 针对上面…

微信小程序如何实现实时显示输入内容

如下所示&#xff0c;在许多场景中需要实时显示用户输入&#xff0c;具体实现见下文。 .wxml <input type"text" placeholder"请输入{{item.value}}(必填)" style"width:80%;" bindinput"get_required_value" data-info"{{it…

dom监听元素 从display: none到页面中

其实业务中还是会碰见这样的需求的&#xff0c;特别是一些框架内不&#xff0c;这个并不是很复杂&#xff0c;我们可以考虑如何去监听到 dom元素样式属性的变化就可以 很多童鞋可能对原生js的不够熟悉&#xff0c;现在大多数同学 只要会写简单的vue操作 就可以 做一些基础的前…

springBoot+Vue汽车销售源码

源码描述: 汽车销售管理系统源码基于spring boot以及Vue开发。 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、 财务报表等功能&#xff0c;提供经理和销售两种角色进行管理。 技术架构&#xff1a; idea(推荐)、jdk1.8、mysql5.X(不能为8驱动不匹配)、ma…

[C#]对c#剪切板Clipboard占用的问题解决方法

前几天做一个程序&#xff0c;其中有一个剪切板的操作&#xff0c;具体代码&#xff1a; Clipboard.SetText(“ABC”); 来完成一个复制字符串的操作。 自己调试通过&#xff0c;完全正常&#xff0c;然后就交给一位朋友做测试。但是他告诉我这个复制操作总是引起崩溃。并弹出…

DevOps落地笔记-04|看板方法:成员工作内容清楚明白方法

上一讲主要介绍了用户故事以及如何通过讲好用户故事解决团队沟通的问题&#xff0c;争取达成共识。当团队都理解了用户需求之后&#xff0c;就进入到后续的产品设计、代码开发、功能测试、直到生产部署等环节了。作为软件从业人员都知道&#xff0c;后续的步骤不太可能一帆风顺…

【Leetcode】2670. 找出不同元素数目差数组

文章目录 题目思路代码结果 题目 题目链接 给你一个下标从 0 开始的数组 nums &#xff0c;数组长度为 n 。 nums 的 不同元素数目差 数组可以用一个长度为 n 的数组 diff 表示&#xff0c;其中 diff[i] 等于前缀 nums[0, …, i] 中不同元素的数目 减去 后缀 nums[i 1, …, …

Mac下手动源码编译安装Swig

使用Homebrew安装 这个方式最简单&#xff0c;但是一般都是安装的最新版&#xff1a; brew install swig如果按照特定版本&#xff0c;需要看一个当前支持的列表&#xff1a; brew search swig brew install swig3源码编译安装 swig依赖pcre库&#xff0c;需要先安装pcre …

第二十回 虔婆醉打唐牛儿 宋江怒杀阎婆惜-FreeBSD改变分区大小

阎婆找到宋江&#xff0c;劝宋江和阎婆惜和解。 宋江无奈跟阎婆惜喝酒&#xff0c;想趁阎婆下楼之机离开&#xff0c;但被阎婆用门锁拦住。宋江无奈留宿&#xff0c;但是两人还是不愉快&#xff0c;宋江五更天就起来了。 宋江走的匆忙&#xff0c;没有带招文袋。阎婆惜拿到招文…

搭建幻兽帕鲁需要什么样的服务器

作为一个开放世界生存制造类游戏《幻兽帕鲁》收获了空前绝后的热度&#xff0c;玩家们在游戏中通过在地图上捕捉收集到的“帕鲁”进行训练&#xff0c;合理利用他们的能力进行战斗&#xff0c;建立自己的家园、开辟新的世界、解锁新的冒险情节&#xff0c;获取更多游戏信息增加…

在哪里申请Digicert证书

Digicert收购Symantec数字证书业务后&#xff0c;已经是全球首屈一指的互联网安全品牌。在网站安全、电子邮件安全、数据泄露防护和SSL证书领域&#xff0c;没有任何一品牌可以替代Digicert/Symantec的地位。所有Digicert SSL证书&#xff0c;都支持在有效期内免费重新签发服务…

正则表达式与文本三剑客

目录 一、正则表达式 1. 定义 2. 字符匹配 3. 重复限定符 4. 位置锚点 5. 分组和引用 6. 扩展正则表达式 二、文本三剑客 1. grep 1.1 定义 1.2 语法 1.3 选项 1.4 示例 2. sed 2.1 定义 2.2 通式 2.3 选项 2.4 脚本格式&#xff08;脚本语法&#xff09; 2.…