Loading

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

然后运行

chmod 644 ~/.ssh/authorized_keys

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

参考

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

posted @ 2022-01-06 14:20  何物昂  阅读(1188)  评论(0编辑  收藏  举报