VSCode Remote-SSH配置免密登录踩坑

news2024/12/23 17:50:51

VSCode Remote-SSH配置免密登录踩坑

    • 1. 参考
    • 2. 基本流程
      • 2.1 机器A(Windows客户端)
      • 2.2 机器B(Linux服务器)
      • 2.3 机器A(Windows客户端)的VSCode设置
    • 3. 踩坑总结

相关教程很多,但要么冗余,要么不清晰,博主在这篇文章中将首先列出相关参考资料,其次给出较为清晰的流程(OS),最后列出坑点,避免大家二次踩坑。

1. 参考

  • vscode设置remote-ssh并免密登录
  • How to save ssh password to vscode?
  • SSH 三步解决免密登录

2. 基本流程

假设从机器A(Windows客户端)免密登录机器B(Linux服务器)

2.1 机器A(Windows客户端)

  • 生成Public Key与Private Key
    打开命令行,输入ssh-keygen,一路回车之后有类似下图的结果(摘自博客 vscode设置remote-ssh并免密登录):
    在这里插入图片描述
    图中红框路径代表Private Key所在路径,同样可以看到/c/Users/15333/.ssh/id_rsa.pub路径,这是Public Key路径。注意:为了保证免密登录,这里Enter passphrase (empty for no passphrase)处一定要直接回车,即不输入密码

  • 上传Public Key到机器B(Linux服务器)
    上传的方式有多种,最简单的是直接用记事本打开/c/Users/15333/.ssh/id_rsa.pub,然后拷贝内容直接粘贴到服务器上。

    粘贴到哪里呢?在用户家目录的.ssh/authorized_keys文件下。为了简便起见,可以在Linux服务器终端输入下述命令来创建authorized_keys文件:

    mkdir -p ~/.ssh
    touch ~/.ssh/authorized_keys
    

    接下来用VScode打开~/.ssh/authorized_keys粘贴内容保存即可

2.2 机器B(Linux服务器)

接下来在机器B上要继续修改文件权限并重启ssh服务:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

service sshd restart

2.3 机器A(Windows客户端)的VSCode设置

  • ctrl + shift + P打开SSH的config文件
    在这里插入图片描述
  • 找到机器B对应的Host,例如:
    Host B
    	HostName 127.0.0.1
    	User deadpool
    
  • 为其添加Private Key文件路径(IdentityFile,自行修改):
    Host B
    	HostName 127.0.0.1
    	User deadpool
    	IdentityFile "C:\Users\15333\.ssh\id_rsa"
    
  • 此时再使用VSCode Remote-SSH登录即可免密

3. 踩坑总结

  • 密钥空密码(机器A):在生成Public/Private Key阶段,为了保证免密登录,Enter passphrase (empty for no passphrase)处一定要直接回车,即不输入密码 ,见上述2.1节
  • 文件权限(机器B):保证~/.ssh权限是700,~/.ssh/authorized_keys权限是600
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  • 修改VSCode Config:记得添加IdentityFile路径,见2.3节

OK,现在就可以起飞了🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫

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

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

相关文章

Teradata退出中国,您可以相信中国数据库!

继Adobe、Tableau、Salesforce之后,2023年2月15日,数仓软件巨头Teradata宣布将逐步结束在中国的直接运营。数仓界的“黄埔军校”仓皇撤出中国市场给出的理由非常含蓄:Teradata对中国当前和未来商业环境的慎重评估,我们做了一个艰难…

阅读笔记5——深度可分离卷积

一、标准卷积 标准卷积在卷积时,同时考虑了特征图的区域和通道信息。 标准卷积的过程如图1-1所示,假设输入特征图的channel3,则每个卷积核的channel都为3,每个卷积核的3个channel对应提取输入特征图的3个channel的特征&#xff08…

抖音怎样报白?报白需要审核哪些资料呢

抖音怎样报白?报白需要审核哪些资料呢 抖音报白需要什么资料,翡翠原石产品如何开通报白#报白#小店报白#小店运营#抖音#抖音小店运营 文/专栏作家百收 随着抖音在国内流行起来,抖音上每天会有大量的视频更新,越来越多的年轻人也加…

Java数据结构中链表分割及链表排序使用快速排序、归并排序、集合排序、迭代、递归,刷题的重点总结

本篇主要介绍在单链表进行分割,单链表进行分隔并使用快速排序、归并排序、集合排序、迭代、递归等方法的总结,愿各位大佬喜欢~~ 86. 分隔链表 - 力扣(LeetCode) 148. 排序链表 - 力扣(LeetCode) 目录 一…

CAS概述

目录一、CAS与原子类1.1 CAS1.2 乐观锁与悲观锁1.3 原子操作类二、 synchronized优化2.1 轻量级锁2.2 轻量级锁-无竞争2.3 轻量级锁-锁膨胀2.4 重量级锁-自旋2.5 偏向锁2.6 synchronized-其他优化一、CAS与原子类 1.1 CAS CAS(一种不断尝试)即Compare …

2023年正在使用的设计资源网站分享

这篇文章,也将整理出我今年一直都在使用的设计资源网站!作为设计师一定是离不开优质的资源网站的,我自己的话会每天都花一两个小时的时间去浏览自己的收藏的这些资源网站。哪怕只是简单的浏览,也可以在无形中增加自己对设计的“设…

rocketmq延时消息自定义配置

概述 使用的是开源版本的rocketmq4.9.4 rocketmq也是支持延时消息的。 rocketmq一般是4个部分: nameserver:保存路由信息broker:保存消息生产者:生产消息消费者:消费消息 延时消息的处理是在其中的broker中。 但是…

华为认证含金量如何?

一本证书是否有用,还要看它是否被市场所认可。 我们说华为认证HCIP有用,很大一部分还取决于它极高的适用性和权威性。华为是国内最大的生产销售通信设备的民营通信科技公司。 自2013年起,国家对网络安全极度重视,相继把国外的网…

rk3568 开发板Ubuntu系统说明

Ubuntu MinimalUbuntu Minimal系统基于Ubuntu 64bit系统构建,目前发布有Ubuntu18.04这个版本。与Ubuntu Desktop 相比具有以下特性:没有桌面环境,占用资源少,在简化网络管理之后,只需40M内存;针对嵌入式平台…

DFN: Dynamic Filter Networks-动态卷积网络

一、论文信息 论文名称:Dynamic Filter Networks 作者团队:NIPS2016 二、动机与创新 卷积层是通过将上一层的特征映射与一组过滤器进行卷积计算输出特征映射,滤波器是卷积层的唯一参数,通常用反向传播算法在训练中学习&#xff…

一个批量扫描shiro漏洞的工具

Update 1.扫描的判断逻辑,通过返回的rememberMe个数进行判断 2.添加了bypass功能,可以发送随机的请求方法 学习 原理 <1.2.4 shiro550 <1.4.2 shiro721 https://cloud.tencent.com/developer/article/1944738 需要成功登录(目前还没有添加 >1.4.2 换加密方…

kubeadm的部署、Dashboard UI以及连接私有仓库

目录 一、kubeadm 部署 K8S 集群架构 1、环境准备 2、所有节点安装docker 3、所有节点安装kubeadm&#xff0c;kubelet和kubectl 3、部署K8S集群 二、dashboard 部署 1、 安装dashboard 2、使用火狐或者360浏览器访问 三 、安装Harbor私有仓库 四、 内核参数优化方案 …

《FPGA学习》->呼吸灯

&#x1f34e;与其担心未来&#xff0c;不如现在好好努力。在这条路上&#xff0c;只有奋斗才能给你安全感。你若努力&#xff0c;全世界都会为你让路。呼吸灯&#xff0c;简而言之就像人类呼吸一样&#xff0c;有节奏的让LED灯从&#xff1a;灭->微微亮->微亮->亮-&g…

python HZK16字库使用

注&#xff1a; 从个人博客园移植而来 环境&#xff1a; windows7, python2.7 简介 偶然在网上看到热心网友使用python讲微信头像进行了组字&#xff0c;感觉很有意思&#xff0c;就做下研究。 感谢&#xff0c;原文参考: Python玩微信头像组字 需求的相关工具&#xff1a; …

spring cloud gateway 实现redis动态路由及自动项目路由上报

前言 spring cloud gateway默认为内存存储策略&#xff0c;通过配置文件加载的方式生成路由定义信息 可以看到&#xff0c;RouteDefinitionRepository继承了两个父接口&#xff0c;分别为RouteDefinitionLocator和RouteDefinitionWriter&#xff0c;RouteDefinitionLocator定…

Java并发知识点

文章目录1. start()和run()方法的区别&#xff1f;2. volatile关键字的作用&#xff1f;使用volatile能够保证&#xff1a;防止指令重排3. sleep方法和wait方法有什么区别&#xff1f;sleep()方法4. 如何停止一个正在运行的线程&#xff1f;方法一&#xff1a;方法二&#xff1…

MindFusion Diagramming for Java, 最新版 Crack

Diagramming for Java, V4.6.1 A unique Java Swing library for any type of flowchart.您需要的每一个图表功能 图表、方案、图形、网络、算法、树、图表 - 所有这些都是使用 MindFusion Diagramming for Java 工具快速轻松地构建的。结果令人着迷。 Java Dagram 库&#xff…

论文阅读 | Real-Time Intermediate Flow Estimation for Video Frame Interpolation

前言&#xff1a;ECCV2022 快速插帧方法 Real-Time Intermediate Flow Estimation for Video Frame Interpolation 引言 进行视频插帧目前比较常见的方法是基于光流法&#xff0c;分为两个步骤&#xff1a;1.通过光流对齐输入帧&#xff0c;融合对齐的帧 光流并不能直接同于…

CS224W课程学习笔记(三):DeepWalk算法原理与说明

引言 什么是图嵌入&#xff1f; 图嵌入&#xff08;Graph Embedding&#xff0c;也叫Network Embedding&#xff09; 是一种将图数据&#xff08;通常为高维稠密的矩阵&#xff09;映射为低微稠密向量的过程&#xff0c;能够很好地解决图数据难以高效输入机器学习算法的问题。…

arxiv2017 | 用于分子神经网络建模的数据增强 SMILES Enumeration

论文标题&#xff1a;SMILES Enumeration as Data Augmentation for Neural Network Modeling of Molecules论文地址&#xff1a;https://arxiv.org/abs/1703.07076代码地址&#xff1a;https://github.com/Ebjerrum/SMILES-enumeration一、摘要摘要中明显提出&#xff1a;先指…