背景
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