配置vscode
安装扩展
在vscode中找到扩展,然后搜索remote development
这个扩展,安装即可
ssh连接主机
- 先选择
ssh Targets
或者入下图所示的远程/隧道/SSH
- 在ssh那一行点击设置,弹出下图的3
- 点击第一行,进行设置
主机ip地址,如果是本地搭建的虚拟机那么按照下图ip地址填写即可,如果是云服务器需要找到你的公网ip,然后填写即可
- 点击刷新,然后找到你刚才创建的云服务器,按照下图点击即可,vscode会新创建一个窗口
- 如下图所示,在第三步的时候输入你的主机密码,然后登录成功后,效果图如第四张图,至此vscode远程连接完成
- 如图所示,打开文件夹之后,vscode会新创建一个窗口,然后就可以开始开发了
设置ssh密码登录
每次都输入密码有点麻烦,所以可以设置一下
ctrl+r
打开运行,然后输入cmd
,打开cmd命令窗口后输入命令,然后一路确定即可,找到下图的文件夹位置,然后找到id_rsa.pub
,也就是公钥(不要把私钥发送给别人!)ssh-keygen -t rsa
- 在使用的主机中,同样生成密钥
- 创建一个文件
将在win找到的vim authorized_keys
id_rsa.pub
中的内容复制到新创建的文件中,由于使用的是vim,复制后按Esc
,然后:wq
保存退出即可 - 此时重启vscode,不需要输入密码也同样可以登录
问题
1.vscode配置远程连接失败:过程试图写入的管道不存在
在配置ArchLinux时候搞了好久都连不上,最后查到一个解决办法,这是参考链接,解决方法如下文:
报错信息:
> �]0;C:\WINDOWS\System32\cmd.exe�
[20:46:09.776] Got some output, clearing connection timeout
[20:46:09.783] >
>
...
[20:46:09.992] > @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>
[20:46:09.999] > @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
> 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 ECDSA key sent by the remote host is
> SHA256:teZb8yKzveqH5iVGOEalepGRmKhWlD2LZLNe0QqOChg.
> Please contact your system administrator.
> Add correct host key in C:\\Users\\.ssh/known_hosts to get rid of this mes
> sage.
> Offending ECDSA key in C:\\Users\\.ssh/known_hosts:14
> ECDSA host key for 106.*.249.* has changed and you have requested strict chec
> king.
> Host key verification failed.
> 过程试图写入的管道不存在。
>
[20:46:10.332] "install" terminal command done
[20:46:10.332] Install terminal quit with output: 过程试图写入的管道不存在。
[20:46:10.332] Received install output: 过程试图写入的管道不存在。
[20:46:10.334] Stopped parsing output early. Remaining text: 过程试图写入的管道不存在。
[20:46:10.334] Failed to parse remote port from server output
[20:46:10.335] Resolver error:
[20:46:10.341] ------
解决方案:
就是把本地的known_hosts
的原服务器信息全部删掉(根据IP地址删除,如你连不上的那个地址),然后重新连接就可以了。
具体地址在C:\Users\你的用户名\.ssh\known_hosts
PS: 直接用everything搜索就有