基于VirtualBox的Centos虚拟机安装与vscode连接

虚拟机我使用的是VirtualBox:
在这里插入图片描述

创建虚拟机

在主页中新建:
在这里插入图片描述
类型选择Linux。
在名称中包含“Centos”字眼,就会自动识别版本为RedHat。
文件夹选个磁盘空间较大的盘符创建个路径进行存储:
在这里插入图片描述
后面的都默认选择。

安装系统

启动。
在这里插入图片描述
选择iso来安装系统(Centos的iso文件在网上搜一下就有得下载)
在这里插入图片描述
在这里插入图片描述
选择响应的iso文件,启动。
后面是比较常规的安装。
需要注意network配置,要打开为ON,否则安装完之后会无网络(也可以在安装完之后再打开,参考:https://blog.csdn.net/yohjob/article/details/90724914):
在这里插入图片描述
在这里插入图片描述
在安装时也可以选择为root创建密码,或者创建其他普通用户
在安装完成后,就能成功登录虚拟机了:
在这里插入图片描述

确认网络连通性

如果在安装的时候把Network打开了,那么这里是应该能直接ping通外网的。
在这里插入图片描述
摘自https://blog.csdn.net/yohjob/article/details/90724914
在这里插入图片描述

ifconfig安装

虚拟机有可能未安装ifconfig:
在这里插入图片描述
根据思路,要么安装了但不在环境变量里,要么是没安装:
在这里插入图片描述
如上截图,通过find找过确实是没有。
因为已经确认了外网的连通性,那么可以通过yum search看下ifconfig在哪个包下:
在这里插入图片描述
如上图在net-tools.x86_64中,安装:
在这里插入图片描述
安装成功后,就可以使用了:
在这里插入图片描述
并且可以看到是安装在/sbin下:
在这里插入图片描述
留意到这时的网段和宿主机的网段是不一致的,虽然虚拟机能连通外网,但是宿主机是无法ping通虚拟机的:
宿主机ping虚拟机:
在这里插入图片描述
虚拟机ping宿主机:
在这里插入图片描述
因为目前虚拟机使用的网络模式是默认的NAT。

桥接网卡模式

桥接网卡模式相当于虚拟机在当前网段中的一台独立的节点,修改为桥接网卡,理论上是能让宿主机和虚拟机相互ping通,并且虚拟机也能正常访问外网的。

而目前默认的NAT,则是宿主机作为虚拟机的服务器,为虚拟机提供端口转发的服务。
虚拟机的多种网络模式的区别,在网上有比较多内容,我这块还没细看,就不做过多的描述哈。

目前默认是NAT模式:
在这里插入图片描述
要改为桥接网卡,宿主机才能ping通虚拟机:
在这里插入图片描述
桥接网卡下方的名称,则要在【更改适配器选项】看宿主机目前在用的是哪个网卡:
在这里插入图片描述
在这里插入图片描述
更改完网络模式,重启虚拟机。
再次看网络信息,ip地址已经和宿主机同网段了。
虚拟机:
在这里插入图片描述
宿主机:(ipconfig)
在这里插入图片描述
宿主机ping虚拟机:
在这里插入图片描述
虚拟机ping不通宿主机:
在这里插入图片描述
关闭防火墙后,能ping通了:
在这里插入图片描述
在这里插入图片描述
当然这是一刀切行为,可以按需配置防火墙,而且我们重点是让宿主机ping通虚拟机,这样可以让vscode连上虚拟机进行更编辑的开发。
回到正题,虚拟机也能解析域名,连通外网:
在这里插入图片描述

vscode连接虚拟机

在Extensions安装Remote-SSH插件:
在这里插入图片描述
安装完成后,左侧会多了ssh的便捷按钮,点击,点击+,
在这里插入图片描述
我在改为桥接模式,宿主机能ping通虚拟机之前,尝试ssh虚拟机,确实是会失败的:
在这里插入图片描述
在这里插入图片描述
改为桥接模式后,ssh则可以登录:
在这里插入图片描述
登录后需要一点时间下载vscode的server程序:
在这里插入图片描述
在安装完成后,再次打开的远端窗口,就查看和选择虚拟机的文件夹了。并且能看到会在登录用户(此处是root用户)的目录内创建.vscode-server,就是刚刚下载的server程序:
在这里插入图片描述
在经过yum install gcc gcc-c++后,能在vscode编辑c++文件并编译通过了:(下方的erminal是 Ctrl+` 唤起的)
在这里插入图片描述

关闭vscode自动更新

建议在settings里把自动更新关闭,即截图中把勾去掉,Update Modes改为none。否则每次更新完,虚拟机都要下载新版的server(如截图右下角):
(我是用手机热点的,流量比较宝贵,网速也较慢,这部分请酌情参考)
在这里插入图片描述

vscode免密登录

vscode每次登录远程服务器(虚拟机),都要输入密码,所以配置免密登录能提高连接的效率。主要是基于密钥对的方式来实现免密。

宿主机生成密钥对

在宿主机生成密钥对,在命令行下输入ssh-keygen -t rsa -C "输入自己的邮箱"。这里的-C后面填github的邮箱,是因为后面宿主机要连接github的话,是要通过含邮箱的密钥对来验证的。
备注,-C是common的作用:
在这里插入图片描述
执行完后,会在宿主机生产.ssh:
在这里插入图片描述

服务器生成密钥对

在服务器也生成密钥对,ssh-keygen -t rsa
在这里插入图片描述

添加宿主机公钥至服务器中

把宿主机的公钥内容(id_rsa.pub)添加至虚拟机~/.ssh/authorized_keys末尾,可以参考命令为echo "public_key" >> ~/.ssh/authorized_keys,其中public_key是公钥内容。
在这里插入图片描述
又或者直接直接在宿主机执行ssh-copy-id -i id_rsa.pub user@ip,ip是虚拟机ip,也会自动追加至authorized_keys内。

添加完成后,重启vscode窗口就已经不需要输入密码了。

至此就完成了Centos虚拟机的安装配置,及vscode的远程编辑了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值