VS Code SSH 远程连接服务器及坑点解决

2024-06-24 03:36

本文主要是介绍VS Code SSH 远程连接服务器及坑点解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

Linux服务器重装了一下,IP没有变化,结果VS Code再重连的时候就各种问题,导致把整个流程全部走了一遍,留个经验帖以备查看

SSH

首先确保Windows安装了ssh,通过cmd下ssh命令查看是否安装了。

在这里插入图片描述

没安装,跳转安装Windows下的ssh

对应的,也需要Linux安装ssh,本文是Ubuntu系统,使用以下命令安装:

sudo apt update
sudo apt install openssh-server

启动ssh服务,并验证是否开启:

sudo systemctl start ssh
sudo systemctl status ssh

在这里插入图片描述

密钥

在Windows上打开命令行窗口(win+r输入cmd),然后输入: ssh-keygen,接着一路按回车键即可。

在这里插入图片描述
在.ssh目录下生成了公钥私钥

在这里插入图片描述

把公钥配置到Linux服务器,连接Linux服务器,然后cd到家目录或者root根目录(用哪个用户登录就去哪个目录),然后cd到.ssh文件夹(没有就创建一个),接着创建authorized_keys文件。

mkdir .ssh(没有该目录,创建)
vim authorized_keys

将windows中公钥信息复制到该文件中,保存关闭。切记不要把ssh-rsa复制进去,只复制下面的内容。

在这里插入图片描述

VS Code

默认已经下载好Remote-SSH插件,然后找到VS Code左下角设置-扩展-Remote-SSH,将config文件路径填进去(就是上面Windows中.ssh文件夹中的config文件)。

在这里插入图片描述

然后按F1,输入:ssh,连接主机

在这里插入图片描述
接着输入:ssh root@192.168.xxx.xxx,后面是linux服务器的ip地址,root是用户名,然后进行连接。

打开VS Code,然后按F1,然后输入ssh,打开配置文件

在这里插入图片描述
在这里插入图片描述

之后就会出现远程连接的标识,直接连接即可。

在这里插入图片描述

坑点

重装系统IP不变,Host key verification failed. 过程试图写入的管道不存在。

原IP地址的linux服务器成功用SSH连接过,后来因某些原因,Linux服务器重装了,但IP依旧保留不变。原因是VS Code读了旧缓存,但是你的系统已经是新的了。

部分报错如下:

> Someone could be eavesdropping on you right now (man-in-the-middle attack)!
> It is also possible that a host key has just been changed.
> The fingerprint for the ED25519 key sent by the remote host is
> SHA256:z6+hBVhvhl5CJHb7duA8ku3nq3ZiRrhWv89SIEgjDwY.
> Please contact your system administrator.
> Add correct host key in C:\\Users\\dell/.ssh/known_hosts to get rid of this message.
> Offending ECDSA key in C:\\Users\\dell/.ssh/known_hosts:2
> Host key for 10.xxx.xxx.xxx has changed and you have requested strict checking.
> Host key verification failed.
> 过程试图写入的管道不存在。

可以看到C:\Users\dell/.ssh/known_hosts中确实将目标linux服务器列为known_host,进入到特定文件中,如下如所示的known_hosts文件和known_hosts.old,找到该ip对应的行,将其删除,再进行连接尝试。

在这里插入图片描述

Resolver error: Error: 无法安装 VS Code 服务器 . No space left on device

部分报错如下:

[20:03:55.990] > scp: /home/test/.vscode-server/vscode-cli-611f9bfce64f25108829dd295f54a6894e87339d.tar.gz: No space left on device 
> vscode-cli-611f9bfce64f25108829dd295f54a6894e87339d.tar.gz             100% 8752KB  22.5MB/s   00:00     
> vscode-cli-611f9bfce64f25108829dd295f54a6894e87339d.tar.gz.done          0%    0     0.0KB/s   --:-- ETAscp: /home/test/.vscode-server/vscode-cli-611f9bfce64f25108829dd295f54a6894e87339d.tar.gz.done: No space left on device

单纯的服务器磁盘不足 ,使用以下命令看空间,增大磁盘容量。很明显,/dev/sda5空间都炸了,需要扩展根目录空间。

test@ubuntu:~/Desktop$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           791M  2.0M  789M   1% /run
/dev/sda5        20G   19G     0 100% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0       64M   64M     0 100% /snap/core20/2264
/dev/loop1      128K  128K     0 100% /snap/bare/5
/dev/loop3      313M  313M     0 100% /snap/code/161
/dev/loop2      312M  312M     0 100% /snap/code/159
/dev/loop4       64M   64M     0 100% /snap/core20/2318
/dev/loop5       75M   75M     0 100% /snap/core22/1380
/dev/loop7      350M  350M     0 100% /snap/gnome-3-38-2004/143
/dev/loop6      506M  506M     0 100% /snap/gnome-42-2204/176
/dev/loop11      39M   39M     0 100% /snap/snapd/21759
/dev/loop8      347M  347M     0 100% /snap/gnome-3-38-2004/119
/dev/loop10      46M   46M     0 100% /snap/snap-store/638
/dev/loop9       92M   92M     0 100% /snap/gtk-common-themes/1535
/dev/loop12      13M   13M     0 100% /snap/snap-store/1113
/dev/loop13      40M   40M     0 100% /snap/snapd/21184
/dev/sda1       511M  4.0K  511M   1% /boot/efi
tmpfs           791M   28K  791M   1% /run/user/1000

这篇关于VS Code SSH 远程连接服务器及坑点解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089060

相关文章

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

【Altium】查找PCB上未连接的网络

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标: PCB设计后期检查中找出没有连接的网络 应用场景:PCB设计后期,需要检查是否所有网络都已连接布线。虽然未连接的网络会有飞线显示,但是由于布线后期整板布线密度较高,虚连,断连的网络用肉眼难以轻易发现。用DRC检查也可以找出未连接的网络,如果PCB中DRC问题较多,查找起来就不是很方便。使用PCB Filter面板来达成目的相比DRC

Java面试题:通过实例说明内连接、左外连接和右外连接的区别

在 SQL 中,连接(JOIN)用于在多个表之间组合行。最常用的连接类型是内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。它们的主要区别在于它们如何处理表之间的匹配和不匹配行。下面是每种连接的详细说明和示例。 表示例 假设有两个表:Customers 和 Orders。 Customers CustomerIDCus

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

Windwos +vs 2022 编译openssl 1.0.2 库

一 前言 先说 结论,编译64位报错,查了一圈没找到解决方案,最后换了32位的。 使用qt访问web接口,因为是https,没有openssl库会报错 QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());if (reply){if (reply->error() == QNetworkReply::NoError

IDEA配置Tomcat远程调试

因为不想把本地的Tomcat配置改乱或者多人开发项目想测试,本文主要是记录一下,IDEA使用Tomcat远程调试的配置过程,免得一段时间不去配置到时候忘记(毕竟这次是因为忘了,所以才打算记录的…) 首先在catalina.sh添加以下内容 JAVA_OPTS="-Dcom.sun.management.jmxremote=-Dcom.sun.management.jmxremote.port

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在