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 update和sudo 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服务连接的操作就介绍完毕了,如果在实际操作中大家遇到什么问题则可以留言评论
感谢观看学习,大佬们多多指点,愿明天的自己会感谢当下的努力!!!!