vs2019及以上版本使用ssh服务连接Linux系统

连接前的准备

在进行vs与Linux连接之前需要做一些必要的准备工作,首先需要有一个Linux虚拟机和vs要安装Linux模块向导

Linux虚拟机安装

Linux虚拟机安装可以参考博客https://blog.csdn.net/weixin_64647426/article/details/129333981或其它文章

vs安装Linux向导

打开vs,点击工具→选择获取工具和功能→找到Linux模块进行安装

vs连接Linux系统

对Linux虚拟机更换下载源

这里推荐清华源,找到虚拟机对应的版本,将下面的内容复制

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

root权限打开/etc/apt/sources.list文件,进行替换

替换完成后,执行sudo apt updatesudo apt-get update指令进行下载源更新

安装ssh服务及编译调试相关工具

执行安装ssh服务端命令:sudo apt install openssh-server

执行安装gcc、g++、及调试工具命令:sudo apt install gcc g++ gdb make

安装完成后,先不要启动ssh服务,就算启动也可能会失败

首先先执行命令sudo ssh-keygen -A生成ssh服务的密钥

然后执行命令sudo /etc/init.d/ssh start启动ssh服务,启动后Windows会弹出防火墙警告允许即可

到此,ssh服务已经启动,但是vs还是不能对Linux进行登录,还需要修改一下ssh服务的sshd_config文件

修改sshd_config文件

root权限打开/etc/ssh/sshd_config文件,修改以下内容

PasswordAuthentication yes #允许用户以密码形式登录
PermitRootLogin yes    #允许用户以root权限登录

进行这些更改后,重新启动ssh服务器执行sudo service ssh restart命令

vs连接Linux虚拟机

打开vs2019创建Linux项目,点击工具→选项→找到跨平台

 

点击添加Linux系统,填写相关信息点击连接即可

开机自启动ssh服务

设置Linux提权不需要密码

root权限打开/etc/sudoers文件,添加

nvidia ALL=(ALL) NOPASSWD: ALL     #用户提权不需要密码

如果sudoers文件不可修改,则使用chmod命令修改文件权限属性,修改完成后将sudoers文件恢复到原来的权限属性

nvidia为Linux系统上非root用户的名字

然后在root权限下执行下面命令

echo "${USER} ALL=(ALL)  NOPASSWD: NOPASSWD: ALL" > /etc/sudoers.d/${USER}
// ${USER}替换为你的非root用户名

 上面的操作完成后,输入命令sudo service ssh start,如果不需要输入密码则设置成功

创建自启动bat文件

【win】+【R】打开运行窗口输入shell:startup打开Windows开机自启动文件夹,在里面创建bat文件

bat文件中写入

C:\Windows\System32\bash.exe -c "sudo service ssh start"

到这里vs与Linux通过ssh服务连接的操作就介绍完毕了,如果在实际操作中大家遇到什么问题则可以留言评论

感谢观看学习,大佬们多多指点,愿明天的自己会感谢当下的努力!!!!