zoukankan      html  css  js  c++  java
  • vs code SSH免密连接远程服务器

    SSH介绍

    SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。OpenSSH 工具是SSH 协议当前最流行的一种实现,Linux 的所有发行版几乎都自带 OpenSSH。

    SSH 的软件架构是服务器-客户端模式(Server - Client)。在这个架构中,SSH 软件分成两个部分:向服务器发出请求的部分,称为客户端(client),OpenSSH 的实现为 ssh;接收客户端发出的请求的部分,称为服务器(server),OpenSSH 的实现为 sshd

    以上引用(抄自)SSH 教程

    所以,sshd作为接收请求的SSH服务端,它若是挂了的话(程序停止运行),客户端或者说你的本地计算机是连不上服务器的。

    OpenSSH

    注:本文是在win10下操作。

    开始,先确认OpenSSH 是否安装。win10下,进行如下确认/安装

    1. 打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能” 。

    2. 扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后:

      • 查找“OpenSSH 客户端”,再单击“安装”

    安装好后,如图
    image.png

    Visual Studio Code

    vs cdoe , emm,一个写代码的工具(虽然你可以用它摸鱼聊天找对象)。去它(官网)(https://code.visualstudio.com/)下载安装。没啥大问题。

    安装Remote-SSH插件

    在vs code ssh连接服务,这里借助一个插件Remote-SSH。在左侧活动栏点击扩展,在插件商店中搜索插件名字Remote-SSH, 点击进行安装。
    image.png

    安装好后,会在左侧活动栏看到一个新的组件。
    image.png

    密码输入连接服务器

    之后,我们尝试连接服务器。根据下图顺序进行点击输入。

    1. 点击远程资源管理器
    2. 添加新的SSH连接,
    3. 输入连接代码,例如:ssh username@127.0.0.1
      image.png

    之后,输入连接命令后,会提示选择SSH保存地址,我选择一个路径。最后在左侧会看到成功添加一个SSH连接地址。
    image.png

    接下来就可以连接服务器了,点击左侧那个连接符号,会提示,输入密码,输入服务器账号密码后。就连接成功了。
    image.png
    下图是连接成功的界面。三键齐按 ctrl + shift + ` , 调出命令行终端。
    image.png

    密钥登陆服务器

    上面是用密码输入登录服务器,你会发现每次连接,或者打开文件夹,都会要求输入一遍密码。密码简单不安全,复杂容易忘,输入也很麻烦。现在我们使用密钥进行登录。SSH密钥登陆采用非对称加密,需要公钥和私钥配合使用。

    生成密钥

    在原来那个没有连接服务器的vs code窗口, ctrl + shift + ` 调出终端
    image.png

    使用命令ssh-keygen进行密钥生成,它有一些参数可以设置,比如-t 可以选择加密算法,这里就采用默认设置。

    命令运行后,一开始会提示密钥的保存文件名,id_rsa 是私钥文件名,id_rsa.pub是公钥文件名,这里默认,回车就行。
    之后提醒第二个问题,询问是否对私钥进行密码保护,这是进一步做了安全保护。这里设置了密码的话,每次密钥登陆时,你还需要输入密钥密码,也是有点麻烦,我这里就不进行设置了,回车不设。
    然后密钥就生成了。

    上传公钥

    下一步,需要把本地生成的公钥传到服务器使用,打开公钥,复制其内容(完整一行)
    imgage

    然后转到已经连接了服务器的vs code窗口, 打开文件,~/.ssh/authorized_keys, 没有的话,就手动创建一个
    image.png

    然后在里面添加刚才复制的公钥,保存。我这里有两个公钥,因为之前添加过一个。
    image.png

    之后再次连接,就会发现不要密码,直接就可以登陆了

    参考

    SSH 教程 - 网道 (wangdoc.com)
    安装 OpenSSH | Microsoft Docs

  • 相关阅读:
    中国石油大学天梯赛真题模拟第二场
    AtCoder Grand Contest 016 B
    POJ1011 Sticks
    UPC7817: Supermarket
    UPC5652: Ants on a Circle
    石大iCal课表使用指南
    UPC10582: Cowpatibility
    UPC11079: 小P的决斗 POJ3244 Difference between Triplets
    UPC6976:矩阵模板(二维哈希)
    知识点2-3:视图的职责
  • 原文地址:https://www.cnblogs.com/huanping/p/15770901.html
Copyright © 2011-2022 走看看