vscode远程开发及公钥配置(告别密码登录)

2023-11-09


vscode远程开发及公钥配置

对于vscode近期升级的一大功能非常满意,通过Remote Development实现远程开发功能,而且使用体验非常好,美中不足是有小部分插件在服务器端支持得不是太好。在搭建过程中会对一些知识进行简单扩展,如不喜可以直接看操作。

简介

关于远程开发官网简介

在这里插入图片描述

看着这架构图都觉得很爽,有关更多内容请看官网教程Remote Development using SSH

关于SSH简介

由上面框架图可知远程开发是基于SSH协议进行,因此我觉得很有必要对SSH做些了解。
在这里插入图片描述

简介引用他人,详情SSH简介及两种远程登录的方法里面有更详细的说明

环境

  • Ubuntu 16.04.6 LTS ×64
  • SecureCRT或者putty工具
  • Windows 10企业版

本人的服务器是本地部署的一个Ubuntu服务器,通过Windows 10本地对服务器上代码进行远程开发。

插件安装

Windows 10下面的Vscode,打开插件标签栏输入插件名称

Remote Development

在这里插入图片描述

注意找到红框中显示插件进行安装,安装完后需要重新加载窗口才生效

配置服务器

找到配置文件

进入远程调试栏-》点击配置图标-》进入配置文件夹进行配置
在这里插入图片描述

修改配置文件

在这里插入图片描述

根据自己对应信息进行填写即可

连接服务器

选中对应服务器-》右击-》连接服务器
在这里插入图片描述

由于没有对公钥进行配置,这种登录方式需要密码进行登录

配置密钥

简介

通过SSH简介知道协议的加密是通过RSA非对称加密,因此会有公钥与私钥。密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。按照当前实际搭建情况如下图所示:
在这里插入图片描述

密钥生成

密钥的生成可以通过Windows 10生成,也可以通过Ubuntu服务器生成,只要遵循简介中的架构模式即可,这里介绍通过Ubuntu生成方式。

  1. 通过SecureCRT或者putty工具连接到Ubuntu服务器中
  2. 终端上输入以下指令建立密钥对
ssh-keygen
  1. 确定保存路径按Enter
Enter file in which to save the key (/home/andron/.ssh/id_rsa): 
  1. 输入密码,按Enter留空
Enter passphrase (empty for no passphrase):
  1. 再次输入密码,按Enter留空
Enter same passphrase again:
  1. 生成公钥与私钥
Your identification has been saved in /home/andron/.ssh/id_rsa.  =>私钥
Your public key has been saved in /home/andron/.ssh/id_rsa.pub.  =>公钥

服务器上安装公钥

  1. 进入生成的两个密钥路径
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
ls  =>查看确保生成功authorized_keys
  1. 为了确保连接成功,请保证以下文件权限正确:
sudo chmod 600 authorized_keys
sudo chmod 700 ~/.ssh

查看或配置打开密钥登录功能

  1. 打开SSH配置文件
sudo vim /etc/ssh/sshd_config
  1. 查看确认下面两项配置
RSAAuthentication yes
PubkeyAuthentication yes

默认不需要修改配置

  • 当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录
PasswordAuthentication no

修改这设置需用密钥登录成功后修改,是否禁止密码登录根据个人需要而定

  1. 重启SSH
sudo service sshd restart

服务器私钥复制到客户端

因为生成的密钥是通过服务器Ubuntu生成的,因此需要把生成的私钥复制Windows 10上面,从Ubuntu复制文件到window可以通过Samba方式或者WinSCP工具实现,Samba方式请参考《Ubuntu 安装Samba及配置》,本文简单介绍通过WinSCP实现文件拷贝。

  1. 登录服务器账号,除账号密码外其他默认配置即可
    在这里插入图片描述
  2. 点击是
    在这里插入图片描述
  3. 分别找到Ubuntu与window 10存放密钥配置的文件夹,如下图所示:
    在这里插入图片描述

可以看到都是存放在用户目录下面,需要注意是都是隐藏文件

  1. 重新打开vscode发现如此之爽,再也不需要再输命令

如果windows之前已经存在私钥和公钥,只需要把公钥安装到服务器上即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode远程开发及公钥配置(告别密码登录) 的相关文章

  • 如何在 Python Paramiko 中配置 ssh StrictHostKeyChecking=no 的等效项

    我正在使用 Paramiko 通过 Python 脚本进行 sshing 我的ssh命令如下 ssh A o strictHostKeyChecking no
  • 尝试 SSH 时设备的 ioctl 不合适

    我正在尝试通过 SSH 连接几台服务器并尝试获取sudo l每个服务器的输出 下面是我正在执行的脚本 bin bash serverlist tmp servers while IFS read r server netgroup user
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • Expect 远程 SSH 登录并执行命令的脚本

    我正在使用以下 Expect 脚本远程 SSH 登录 Raspberry Pi 并执行命令 usr bin expect set timeout 60 spawn ssh lindex argv 1 lindex argv 0 expect
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • 伪分布式模式下的 Hadoop。连接被拒绝

    P S 请不要将此标记为重复 Hi 我一直在尝试以伪分布式模式设置和运行 Hadoop 当我运行 start all sh 脚本时 我得到以下输出 starting namenode logging to home raveesh Hado
  • 如何以编程方式启动 ssh 服务器 android,以及如何获取连接到设备的用户名和密码

    我正在开发像这样的应用程序sshdroid 我想在 Android 操作系统上打开 ssh 连接 并且我想从电脑连接应用程序 我使用了 JSCH lib 但是这个lib用于将android连接到pc 我的要求是pc到android 任何人都
  • PHP Github Pull 脚本错误“权限被拒绝(公钥)”

    我已经设置了一个 PHP 脚本来执行 GitHub 拉取 这包含在我的 Github 文件夹中 home mysite public html github github pull php 我的服务器已经有 SSH 公钥 就像我执行git
  • JSch:如何使用 ssh 密钥 ssh 到服务器

    我想从另一个 ssh 服务器后面 ssh 进入服务器 网关服务器需要用户名 密码 我可以做到这一点 我正在使用隧道进入下一台服务器 但这需要only一个 ssh 密钥 我已经通过 PuTTY 生成了密钥 因此它存在于我的用户名中 但我不确定
  • 如何从远程 ssh 连接上运行的 tmux(复制模式)复制到本地剪贴板

    我通过 OS X 上的 VirtualBox 运行 Linux 我通过在无头状态下运行虚拟机 然后使用端口转发 sshing 到 Linux 机器来实现这一点 现在 无论复制到我的虚拟机上的剪贴板 我都可以粘贴到我的远程 ssh 会话上 但
  • ssh:连接到主机 bitbucket.org 端口 22:连接超时

    一切都工作得很好 做了一些git pushes 没有问题 今天我决定将我的框架更新到最新版本 因此它稍微改变了我项目的目录结构 因此 在 Bitbucket 中 我创建了一个新的存储库 dev1 project com 并将我的项目文件夹重
  • 通过 HTTPS 的隧道

    在我的工作场所 流量拦截器 防火墙变得越来越糟糕 我无法通过端口 22 连接到我的家用计算机 并且缺乏 ssh 访问权限让我感到难过 我以前可以通过将 SSH 移动到端口 5050 来使用它 但我认为最近的一些过滤器现在将此流量视为 IM
  • Android SSH 示例代码

    我想创建一个 android 活动 用于与远程设备 通过 Wifi 建立 SSH 会话并在远程设备上执行一些 Linux 命令 任何人都可以获得一个快速 简短的示例 用于使用以下命令进行连接 身份验证和发送远程命令Trilead https
  • 通过 ssh 运行 Bash 脚本

    我正在尝试编写一个 Bash 脚本 它将通过 SSH 连接到计算机并创建一个目录 长期目标有点复杂 但现在我从简单的开始 然而 虽然很简单 但我似乎不太明白 这是我的代码 bin bash ssh T email protected cdn
  • 在防火墙后面使用 GitHub,无需 SSH 访问

    我真的很想使用 GitHub 但我的公司一切都被锁定了 现在 我只能通过HTTP协议使用Tortoise SVN 我可以以同样的方式使用 GitHub 吗 如果是这样 怎么办 我认为你一直能够克隆github https github co
  • 使用 JSch 分别为各个提示提供输入

    问题是 SSH 连接需要在常规登录后提供另一个用户 ID 和密码信息 我正在使用 JSch 连接到远程服务器 它接受以下形式的输入InputStream 和这个InputStream只能通过一次 由于会话是交互式的 这会导致问题 我尝试将输
  • 通过 SSH 的 sbt (Scala) 结果找不到命令,但如果我自己这样做就可以工作

    所以我正在尝试做一些涉及跑步的事情sbt通过 SSH 命令 这就是我正在尝试的 ssh my username
  • 如何通过主机从外部 SSH 到 VirtualBox 来宾? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个在 Windows 7 计算机上运行的 Ubuntu 虚拟机 如何设置才能通过 SSH 从外部访问 Web 服务器 我找到了步骤
  • VS 代码 ssh;服务器安装路径

    我正在尝试更改 VS Code 服务器文件夹安装位置 该功能最近已实现 我找到了以下参考资料 1 https github com microsoft vscode remote release issues 472 2 https sta

随机推荐

  • vue 快速入门--快速使用vue2

    关于mvvm的理解 说到mvvm 就要提到vue的优点了 vue有什么优点呢 更改变量很容易 具有即时性 这是我们广泛所知道的 vue的优点 在原来只有jquery的时候 我们改变一个元素的值的时候 我们需要深入到原代码里 重新绑定元素啦
  • C51数码管显示

    一 数码管简介 LED数码管 数码管是一种简单 廉价的显示器 是由多个发光二极管封装在一起组成 8 字 型的器件 管按段数可分为七段数码管和八段数码管 八段数码管比七段数码管多一个发光二极 管单元 也就是多一个小数点 DP 这个小数点可以更
  • 通过关键词模拟百度搜索并爬取前30页的URL

    想快速获取到百度搜索结果原始URL 一次一次输入搜索太慢了 所以就写了一个小爬虫 效率提升10000倍 平均耗时一个关键词爬取百度搜索结果前30页的链接耗时4秒内 1 你要准备一些搜索词 我的环境下我的搜索词是放在 key file pat
  • ini文件的读取

    ini文件 每行末尾有换行符 每个section之间有一空行 文件 0 id 0 key2 def key start 456 end 78 1 id 1 key1 abc key start 123 end 456 代码示例 includ
  • 2023-数仓建设规范指南

    一 数据模型架构原则 1 数仓分层原则 优秀可靠的数仓体系 往往需要清晰的数据分层结构 即要保证数据层的稳定又要屏蔽对下游的影响 并且要避免链路过长 那么问题来了 一直在讲数仓要分层 那数仓分几层最好 目前市场上主流的分层方式眼花缭乱 不过
  • MySQL中神奇的show命令详解

    show binary logs 列出服务器上的二进制日志文件 show binlog events 显示二进制日志中的事件 show character set 显示所有可用的字符集 show collation 列出服务器支持的排序规则
  • 全网最全的Postman接口自动化测试(史实级攻略)

    背景 该篇文章针对已经掌握 Postman 基本用法的读者 即对接口相关概念有一定了解 已经会使用 Postman 进行模拟请求的操作 当前环境 Window 7 64 Postman 版本 免费版 Chrome App v5 5 3 不同
  • Laravel项目线上服务器docker化部署实战全过程记录指导(转 2021-04-02)

    最近 笔者终于在重重困难之下 完成了自己的第一个laravel项目 有什么感受呢 当然就是laravel虽然体型大 但是功能也更全了 总起来说 是一个在php后端领域值得深入挖掘 日积月累的框架 项目的本地开发和测试都已经完成 那么接下来面
  • MySQL常用函数、关键字解析。

    目录 引言 一 数据库简介 二 SQL语句 三 MySQL常用函数 数学函数 日期函数 MySQL其他命令 四 Navicat快捷键 引言 暂时只想起来这些 有需要补充的或者文章内出现的错误欢迎指正 评论 or 私信 请努力提升自己 划重点
  • 一次另类的由kjournald日志进程引起的磁盘io问题的解决

    http www 5ilinux com 2012 11 kjournald io html 最近linode的服务器做cacti的监控测试 偶尔发现服务器最近几周的io成几何级增长 而同期的cpu负载却发现无太明显的几何级的增长 好在li
  • 电流电压双闭环PID控制以及C语言实现

    对于电流电压双闭环PID控制 我们需要先了解一下PID控制的原理 PID控制器是由比例 P 积分 I 和微分 D 三个部分组成的控制器 用于控制具有惯性和滞后响应的过程 PID控制器需要通过测量误差 计算出控制输出 以便实现系统稳定 在电流
  • Qt的QMessageBox消息弹窗

    Qt的消息弹窗QMessageBox Qt的消息弹窗QMessageBox 1 说明 2 6种消息框 3 QMessageBox StandardButton 枚举类型值 3 1 information消息对话框 3 1 1 informa
  • RabbitMQ 消息有效期问题

    目录 一 默认情况 二 TTL Time To Live I TTL 的简介 II 单条消息过期 III 队列消息过期 IV 特殊情况 三 死信队列以及死信交换机 I 死信交换机 II 死信队列 III 具体操作 一 默认情况 在默认情况下
  • html 模板

    模板王 10000 免费网页模板 网站模板下载大全 mobanwang com http www mobanwang com
  • IEEE Transactions模板中参考文献作者缩写、期刊名缩写

    IEEE Transactions模板中参考文献作者缩写 期刊名缩写 本文章记录如何在IEEE Transactions的模板中 解决参考文献的作者缩写 期刊名字缩写的问题 目录 IEEE Transactions模板中参考文献作者缩写 期
  • python爬虫一:爬虫简介

    1 什么是爬虫 络爬 被称为 蜘蛛 络机器 就是模拟客户端发送 络请求 接收请求响应 种按照 定的规则 动地抓取互联 信息的程序 只要是浏览器能做的事情 原则上 爬 都能够做 可见即可爬 1 1爬虫有哪些用途 为其他数据提供数据源 像AI人
  • 数据挖掘的特点

    数据挖掘具有以下几个特点 1 基于大量数据 并非说小数据量上就不可以进行挖掘 实际上大多数数据挖掘的算法都可以在小数据量上运行并得到结果 但是 一方面过小的数据量完全可以通过人工分析来总结规律 另一方面来说 小数据量常常无法反映出真实世界中
  • kettle运行spoon.bat时找不到javaw文件

    我也遇到这问题了 分享一下解决方法吧以后没准还有人能用到 我机器的主要问题是环境变量JAVA HOME的值不对 应该写到jdk也就是C Program Files Java jdk1 7 0 25 并且 改完后要重启机器才行 这个很重要
  • DNS服务器的安装与配置

    一 DNS服务器的安装 步骤1 选择 开始 控制面板 添加或删除程序 添加 删除Windows组件 然后选取 网络服务 组件 再单击详细信息按钮 步骤2 选取 域名系统 DNS 组件后单击 确定 按钮 步骤3 回到前一个画面后 单击 下一步
  • vscode远程开发及公钥配置(告别密码登录)

    文章目录 vscode远程开发及公钥配置 简介 关于远程开发官网简介 关于SSH简介 环境 插件安装 配置服务器 找到配置文件 修改配置文件 连接服务器 配置密钥 简介 密钥生成 服务器上安装公钥 查看或配置打开密钥登录功能 服务器私钥复制