我的编程空间,编程开发者的网络收藏夹
学习永远不晚

超详细解答vscode如何远程连接Linux以及可能会出现的一些问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

超详细解答vscode如何远程连接Linux以及可能会出现的一些问题

vscode如何远程连接Linux
1.在vscode扩展里面安装下面两个扩展

在这里插入图片描述
2.快捷键 Ctrl + Shift + P打开命令面板,输入ssh,选择Remote-SSH:Settings,将Show Login Terminal勾选上在这里插入图片描述
在这里插入图片描述
3.点击左边远程资源管理器,然后在点击设置(configure)小图标
在这里插入图片描述
选择config所在的路径
在这里插入图片描述
会打开这样的界面
在这里插入图片描述
Host XXX为自己设置的名称
HostName 为ubuntu ip地址(在虚拟机终端输入 ip addr)
User 为unbuntu用户名(我使用的为root用户)
保存

在这里插入图片描述

保存config文件之后,左侧会显示一个小电视的图标,右键点击connect

在这里插入图片描述

但是我在点击连接之后会提示这样的错误(没有就跳过)如何解决这个错误?

在这里插入图片描述
第一步右键点击SSH扩展,然后点击扩展设置
在这里插入图片描述
找到config file,打开之后是空的,需要自己填上config的路径,通常路径为为(C:\Users\XXX.ssh\config)
在这里插入图片描述
若上述方法还不奏效,也许是虚拟机中未安装sshd
解决方法

安装sshd

sudo apt-get install openssh-server

启动sshd

sudo net start sshd

检查防火墙设置

sudo ufw disable

检验:

ssh localhost

若成功,则表示安装成功并且连接

但也会出现连接失败的问题,比如root用户即使正确输入密码,也会提示如下类似信息,但非root用户可以正常登录

在这里插入图片描述
问题原因是服务端ssh服务配置禁止了root用户登录策略
解决办法:

首先检查配置:
cat /etc/ssh/sshd_config
寻找其中是否包含:PermitRootLogin no
等类似配置在这里插入图片描述
将其改为 yes,或者直接在命令行前面加一个#将其注释掉
之后再重启ssh服务

service sshd restart

此时再尝试连接已经可以了

上述配置完成之后就可以在vscode中输入密码访问linux中的文件,但是还有一个问题,就是每次打开vscode或者打开新文件都需要输入密码,很麻烦

这个时候就需要用到公钥和私钥了

密钥生成
密钥生成可以通过windows生成也可以通过unbuntu服务器生成,两种方法我都试过,但是在windows下面生成后对我的电脑貌似不行,所以我尝试了用unbuntu生成

打开终端输入ssh-keygen
2.确定路径后直接按ENTER(每个人生成路径不一样)

Enter file in which to save the key (/root/.ssh/id_rsa) :

输入密码(按回车键表示密码为空不填)

Enter passphrase (empty for no passphrase):

再次输入密码(可以为空,按回车键)

Enter same passphrase again:

生成公钥与私钥
ls /root/.ssh
查看该文件夹下面有没有生成密钥

在这里插入图片描述

当全部完成设置后,打开sshd_config

sudo vim /etc/ssh/sshd_config

在服务器上安装公钥
进入生成的两个密钥路径

cd ~/.sshcat id_rsa.pub >> authorized_keys

为了确保连接成功,对以下文件设置权限

sudo chmod 600 authorized_keyssudo chmod 700 ~/.ssh

加入下面配置,将密码禁用
PasswordAuthentication no

重启ssh

sudo service sshd restart

将私钥复制到客户端
我使用的是samba将文件复制到windows

Samba方式请参考https://www.cnblogs.com/gzdaijie/p/5194033.html

将id_rsa复制到C:\Users\XXX.ssh中就成功了
重新打开vscode就不需要密码了

来源地址:https://blog.csdn.net/cxn15335120506/article/details/123238233

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

超详细解答vscode如何远程连接Linux以及可能会出现的一些问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录