ssh连接虚拟机CentOS
首先,此时我们已经在电脑本机有了一台虚拟机(本次使用VMware),并且安装了CentOS系统
然后我们电脑需要安装一个ssh工具,比如xshell,但是xshell收费,免费又是阉割版
不如使用ashell
CentOS默认启动目标
linux系统本来都是一个个文件与文件夹,在CentOS中,我们可以安装图形界面,我们可以使用以下指令切换默认启动是终端,还是图形界面
1.获取默认启动目标
systemctl get-default返回的结果有两中
multi-user.target # 命令行模式(纯终端,无图形界面启动)
graphical.target # 图形界面模式(会启动 GNOME/KDE 等桌面)2.进一步确认当前正在运行的 target
systemctl list-units --type=target如果看到 graphical.target处于 active状态,说明当前已进入图形模式;
如果只有 multi-user.target,就是命令行模式。
3.设置默认启动目标,需要 root 权限
sudo systemctl set-default multi-user.target # 设置默认启动为终端
sudo systemctl set-default graphical.target # 设置默认启动为图形界面设置完之后可以再次运行systemctl get-default查看是否修改成功
4.立即切换到命令行模式(不重启)
sudo systemctl isolate multi-user.target检查CentOS的SSH服务
ashell 这类软件通过 SSH 协议连接
启动并设置自启(用 root 或 sudo 权限):
sudo systemctl start sshd
sudo systemctl enable sshd确认状态:
systemctl status sshd看到 active (running)即正常

若防火墙开着,需放行 22 端口(或临时关闭测试):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload验证:
sudo firewall-cmd --list-all | grep ssh确认虚拟机网络模式
首先在vm菜单栏点击编辑->虚拟网络编辑器

选择 VMnet8,确认下面选择的是NAT模式
并且记住子网ip,假设这台虚拟机的子网IP是192.168.150.0

点击NAT设置,记录网关IP,假设这台虚拟机的子网IP是192.168.150.2

确认 Windows VMware 服务
电脑本机win+r,输入services.msc,找到以下两个项目
- VMware NAT Service
- VMware DHCP Service
如果这两项状态都是正在运行,且启动类型都为自动,就ok
这样可以确保ssh工具可以连上

查找网卡名
虚拟机终端输入:
ip addr会看到ens*字眼,那么以下虚拟机的网卡名就是ens160,有的可能是ens33

可以输入以下指令查看相应的网卡文件名
ls /etc/sysconfig/network-scripts/ifcfg-*可以看到此文件夹下你的网卡配置文件

那么我的配置文件就是ifcfg-ens160
编辑网卡文件
虚拟机终端输入
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33用户权限不足
在输入sudo指令时,可能会报以下错误
xxx is not in the sudoers file. This incident will be reported.就是当前用户的全部不足,不能使用sudo指令
我们需要先切换到root用户
su -然后把你的用户名添加入wheel组,xarzhi是我的用户名
usermod -aG wheel xarzhi然后注销当前会话重新打开终端,或者执行
su - xarzhi然后再使用sudo指令应该就可以了
进入到网卡文件页面后可以看到如下内容

进入后默认是命令模式,按 i 键 → 进入编辑模式(左下角会出现 -- INSERT --)
我们需要修改以下内容,以下内容若有相同字段,就把值修改了,若没有相应字段,就在最后另起一行添加这些字段和值
其中192.168.150.*是上面记住的网关,这个根据自己网关来
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens160"
DEVICE="ens160"
ONBOOT="yes"
IPADDR="192.168.150.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.150.2"
DNS1="8.8.8.8"
DNS2="114.114.114.114"修改好之后按ESC,输入:wq再回车就可以退出编辑模式
然后虚拟机终端输入以下指令重启网络服务
sudo systemctl restart NetworkManager验证网络配置
然后虚拟机终端输入
ip addr show ens160应该可以看到以下内容
inet 192.168.150.100/24
TIP
如果不是192.168.xxx.100的话,比如192.168.xxx.134之类的
最好的方法是重启虚拟机,然后再输入ip addr看看
也可以使用如下指令
sudo nmcli connection down ens160
sudo nmcli connection up ens160再输入
ip route应该会有以下内容
default via 192.168.150.2 dev ens160测试联通性
虚拟机终端分别输入
ping 192.168.157.2
ping 8.8.8.8如果一直有以下内容输入就没问题

ashell连接
主机名写入ip addr获取到的网关名192.168.150.100,端口号是22,然后输入centOS的密码
就可以连接成功了

可以输入几个linux指令试试

不仅是ashell,使用xftp或者winscp也可以连接
