vscode 远程连接内网服务器和通过跳板机远程连接外网服务器

1.打开vscode congfig文件,输入相应信息如下图

在这里插入图片描述
若本地没有id_rsa文件,可打开cmd进入.ssh目录下输入命令:ssh-keygen,创建该文件,会提示输入该文件保存地址以及设置秘钥密码(最好不要设置密码,不然不方便免密登录,直接按回车键生成密钥),按需输入即可;详细方法见博客vscode通过跳板机远程服务器
生成密钥和公钥后在.ssh文件目录下会出现两个文件
在这里插入图片描述

2.实现免密连接远程服务器

首先将私钥地址填写到vscode本地config文件其对应连接的服务器ip下面,比如服务器ip为192.168.1.170

Host 192.168.1.191
  HostName 192.168.1.170
  User dell
  IdentityFile "C:\Users\hc\.ssh\id_rsa" #添加这一行为本地私钥路径

然后将公钥(带有.pub的那个文件)内容copy到服务器上.shh文件夹下authorized_keys文件中,推荐使用git命令(前提是本地安装有git),在本地.ssh文件目录下,鼠标右击Git Bash Here弹出Git命令框,输入命令:

ssh-copy-id dell@192.168.1.170

ssh-copy-id username@server_ip username是目标服务器的用户名,@后面是目标服务器的ip地址。
不用Git命令可以直接用记事本打开这些文件复制其内容粘贴到服务器上对应的文件中。
到此即配置完成,可以用vscode直接连接192.168.1.170服务器上的代码文件,不用输入密码。

3.直接通过跳板机免密远程连接云服务器上的文件

首先可以将跳板机当做另一台本地的服务器,所以进入跳本机的的.ssh目录下生成一个属于跳板机的私钥和公钥(如果已经存在则不用生成)。
在这里插入图片描述
然后将跳板机的的私钥id_rsa复制到本地.ssh文件下,为避免对本地的私钥造成影响,复制到本地时可以重命名,如我的跳板机用户名是gpu,那就改成gpu_id_rsa。
在这里插入图片描述
最终本地.ssh文件下内容如下:
在这里插入图片描述
再然后需要将本地的公钥也复制到跳板机的authorized_keys文件中,方法和2.中相同。在vscode的config文件中同时需要配置一下跳板机相关的配置

Host 140.143.229.170      #跳板机       
  HostName 140.143.229.170 
  Port 22                 
  User gpu                
  IdentityFile "C:\Users\hc\.ssh\id_rsa"  #本地的私钥地址

此时用vscode即可以免密连接跳板机上的文件了;
最后再配置云服务器:
首先将跳板机的公钥采用相同的方法复制到云服务器上.ssh文件下的authorized_keys文件中保存,然后再配置vscode中的文件如下:

Host 140.143.229.170         # 跳板机
  HostName 140.143.229.170 
  Port 22                 
  User gpu                
  IdentityFile "C:\Users\hp280\.ssh\id_rsa" 

Host TargetMachine           # 目标云服务器,(名字自取)
  HostName 10.170.9.20       # 云服务器的ip
  Port 22                 
  User ubuntu                # 云服务器用户名,
  IdentityFile "C:\Users\hc\.ssh\gpu_id_rsa"        # 此时配置的是先前从跳板机上复制下来的私钥在本地的路径
  ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p 140.143.229.170   # 最后将云服务器关联到跳板机

到此配置完成。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(2023,大视觉模型 LVM,视觉句子,自回归)序列建模支持大型视觉模型的可扩展学习

Sequential Modeling Enables Scalable Learning for Large Vision Models 公Z号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 简介 2. 相关工作 3. 数据 4. 方法 4.1 图像…

如何管理大型网站的抓取预算

优化您的网站,以便 Google 更快地找到您的内容并将您的内容编入索引,这可以帮助您的网站获得更好的知名度和流量。 互联网是一个不断发展的虚拟世界,拥有超过 1 亿个网站。 你认为谷歌可以抓取世界上的每一个网站吗? 即使拥有谷…

优化汽车产业用户营运:精细化策略

近年来随着互联网时代新技术浪潮的冲击,商业社会中各种原生边界不断被打破,新的消费需求、新的商业模式、新的竞争挑战层出不穷。各行业往往面临重重困境与迷思,学会如何精细化运营用户显得尤为重要。立即阅读阅文,详细了解其中用…

系列十、SpringBoot + MyBatis + Redis实现分布式缓存(基于注解方式)

一、概述 上篇文章 系列九、SpringBoot MyBatis Redis实现分布式缓存 介绍了基于xml方式实现分布式缓存的效果,当前大家使用的技术栈基本是springboot各种框架的组合,而springboot显著的一个特点就是去xml配置,那么在无xml配置的情形下&…

LeetCode(55)环形链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 环形链表 1.题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评…

【EDA工具-VCS和Verdi的使用_2023.12.9】

芯片开发所需工具环境 Linux/Unix 编辑器Vim/Gvim EDA工具 Makefile 脚本语言Perl/Python 版本控制SVN/GIT 脚本语言Makefile 形式(由一系列的规则组成) 规则的目标:规则的依赖(可有可无) 规则的命令行&#xff08…

CompletableFuture使用小结

为什么需要CompletableFuture CompletableFuture继承了CompletionStage接口和Future接口,在原有Future的基础上增加了异步回调、流式处理以及任务组合,成为JDK8多任务协同场景下一个有效利器。 CompletableFuture使用示例 提交有返回值的异步任务 通…

【HTML】基于jsQR实现的HTML单页面扫码功能

前言 最近做了一个扫码签到的功能涉及到获取浏览器摄像头并扫码识别的功能。 选择jsQR的原因: html5-qrcode:使用简单,识别率低,二维码小不可解析 zxing/library: 识别率优于html5-qrcode,部分安卓模糊…

Linux系统编程:高级IO总结

非阻塞IO基本概念 高级IO核心就一个概念:非阻塞IO。 与该概念相对的,就是我们之前学习过的阻塞IO。 非阻塞IO(Non-blocking I/O)是一种IO模型,用于实现异步IO操作,使应用程序能够在等待IO操作完成的同时…

Ubuntu部署EMQX开源版MQTT服务器-Orange Pi部署-服务器部署

一、前言 作为全球最具扩展性的 MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,本文将介绍如何在Ubuntu 22.04上部署MQTT服务器。我们本次选择开源版,使用离线安装方式部署。…

d2l绘图不显示的问题

之前试了各种方法都不行 在pycharm中还是不行,但是在anaconda中的命令行是可以的 anaconda prompt conda activaye py39 #进入f盘 F: #运行文件 python F:\python_code\softmax.py

Linux Ubuntu 手动搭建webDav

1、安装 因为需要跟 zotero 进行交互,因此需要在服务器搭建一个webDav 以下是搭建步骤: sudo apt-get update sudo apt-get install apache2 Ubuntu 安装apache2来实现 不同于Centos 安装好了之后,运行 a2enmod dav_fs a2enmod dav 激…

Linux shell编程学习笔记34:eval 命令

0 前言 在JavaScript语言中,有一个很特别的函数eval,eval函数可以将字符串当做 JavaScript 代码执行,返回表达式或值。 在Linux Shell 中也提供了内建命令eval,它是否具有JavaScript语言中eval函数的功能呢? 1 eval命…

【flink番外篇】3、fflink的source(内置、mysql、kafka、redis、clickhouse)介绍及示例(2)- 自定义、mysql

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的…

LeetCode 1631. 最小体力消耗路径:广度优先搜索BFS

【LetMeFly】1631.最小体力消耗路径:广度优先搜索BFS 力扣题目链接:https://leetcode.cn/problems/path-with-minimum-effort/ 你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (ro…

Leetcode—2961.双模幂运算【中等】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—2961.双模幂运算 实现代码 class Solution { public:int func(int a, int b) {int ans 1;for(int i 0; i < b; i) {ans * a;ans % 10;}return ans;}int func2(int a, int b, int m) {int ans 1;for(int i 0; i …

使用Kali Linux端口扫描

端口扫描 【实训目的】 掌握端口扫描的基本概念和端口扫描的原理&#xff0c;掌握各种类型端口扫描的方法及其区别。 【场景描述】 在虚拟机环境下配置4个虚拟系统“Win XP1” “Win XP2” “Kali Linux”和“Metasploitable2”&#xff0c;使得4个系统之间能够相互通信。实…

深度学习(生成式模型)——ADM:Diffusion Models Beat GANs on Image Synthesis

文章目录 前言基础模型结构UNet结构Timestep Embedding关于为什么需要timestep embedding global attention layer 如何提升diffusion model生成图像的质量Classifier guidance实验结果 前言 在前几篇博文中&#xff0c;我们已经介绍了DDPM、DDIM、Classifier guidance等相关的…

EasyV易知微助力智慧城市未来趋势发展——数字孪生城市

“智慧城市的未来趋势就是数字孪生”——《基于数字孪生的智慧城市》 城市数字化管理、智慧城市和数字孪生城市的发展是相互促进、逐步深化的过程。 城市数字化管理作为起点&#xff0c;奠定了信息化、数据化的基础&#xff1b;而智慧城市则将数字城市管理进一步升级&#xff…

Could not resolve all dependencies for configuration ‘:app:androidApis‘.

android studio出现Could not resolve all dependencies for configuration ‘:app:androidApis’. 试过很多种方法&#xff0c;但是都不好使&#xff0c;不管怎么样都是提示如下报错&#xff1a; Using insecure protocols with repositories, without explicit opt-in, is un…