拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

vmware搭建华为自研openEuler系统

vmware搭建华为自研openEuler系统

利用vmware搭建华为自研openEuler系统

选择linux内核

设置虚拟机名称及存储位置

设置cpu数量和每个核数,这边我设置了一个cpu,两个核,因为这样速度快

设置内存大小

设置网络类型为NAT模式

设置该磁盘为单独磁盘

设置网卡地址,确保都在同个局域网中,这是vmnet1,主机模式,适用于隔离测试,不连接外网

这是vmnet8网卡,适用于日常连接,可以连接外网**

设置vmnet8的网关地址

ipconfig查看是否更改成功





更改密码
echo123456|passwdstdin root
xshell连接虚拟机,不关闭防火墙,用Xshell连接Linux虚拟机

核心思路:不关闭firewalld,只放行SSH端口(默认22),兼顾安全和远程连接。

前提确认
  1. 虚拟机和宿主机网络互通(推荐:NAT模式,也可用桥接)
  2. 虚拟机内sshd服务已经启动
  3. 拿到虚拟机IP:ip a
一、检查状态
# 查看防火墙状态systemctl status firewalld# 查看ssh服务状态systemctl status sshd
  • firewalld active:防火墙正在运行(我们要保留)
  • sshd active:SSH服务正常;没启动就执行:
systemctl start sshd systemctlenablesshd#开机自启# 修改配置文件后需要重启# CentOS/RHEL/openEulersystemctl restart sshd# Ubuntu/Debiansystemctl restartssh
二、放行SSH端口(两种方式任选其一)
方式1:放行服务名(推荐,firewalld内置ssh服务规则)
# 永久放行ssh,--permanent永久生效 firewall-cmd --permanent --add-service=ssh # 重载防火墙配置,让规则立刻生效 firewall-cmd --reload
方式2:直接放行端口号(如果SSH改了端口就用这个)

假设ssh端口为22(默认)

firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload
三、查看防火墙规则是否添加成功
# 查看所有永久规则 firewall-cmd --permanent --list-all

输出里面能看到services: ssh或者ports:22/tcp代表成功。

四、Xshell连接配置
  1. 新建会话,主机填虚拟机IP,端口22
  2. 用户名密码填虚拟机账号密码,连接
五、排查常见问题(连不上的时候按顺序查)
  1. 虚拟机内部测试:ssh 本机IP,看能不能本地ssh登录,排除sshd问题
  2. 宿主机cmd ping 虚拟机IP:ping不通 = 网络问题(NAT/桥接配置),不是防火墙问题
  3. 确认虚拟机防火墙放行22,宿主机Windows防火墙也要放行虚拟机网段(很多人漏掉宿主机防火墙)
  4. 检查虚拟机/etc/ssh/sshd_config:是否允许密码登录**(默认开启)**
PasswordAuthentication yes

改完重启sshd:systemctl restart sshd

六、补充知识点(面试)
  • 不要systemctl stop firewalld关闭防火墙,会暴露所有端口,不安全
  • --permanent:永久规则,不加重载不会生效;不加这个只临时生效,重启防火墙丢失
  • firewall-cmd --reload:不中断已有连接,只加载新规则
  • 如果你是CentOS6(老版本iptables)命令不一样,现在主流CentOS7+/Rocky/AlmaLinux都是firewalld
七、撤销规则(不需要ssh远程时)
firewall-cmd --permanent --remove-service=ssh firewall-cmd --reload
一句话总结

不关闭防火墙,只在firewalld添加SSH服务/22端口放行规则,重载配置;

同时保证虚拟机网络通、sshd正常运行,即可Xshell远程连接。


Windows 端测试 SSH 连通性(3 个层级,从底层到完整登录)

Windows10 1809+/Win11 自带 OpenSSH 客户端,PowerShell / CMD 都能用

1. 检查 Windows 有没有 ssh 客户端
ssh -V

输出版本号代表已有;提示不是命令,需要在 Windows 功能里安装 OpenSSH 客户端。

2. 先测端口通不通(只检测 22 端口能不能访问,不做登录)

方式 A(PowerShell 推荐)

Test-NetConnection 虚拟机IP -Port 22
  • TcpTestSucceeded: True→ 网络 + 防火墙放行 22 端口成功
  • False:防火墙没开 / 网络不通 /sshd 没启动

方式 B(老式 telnet,不推荐,需要手动开启 telnet 客户端)

telnet 虚拟机IP 22

黑屏代表端口通;报错连接失败 = 不通。

3. 完整 SSH 登录测试(直接验证 PasswordAuthentication 是否生效)
# 默认22端口 ssh 虚拟机用户名@虚拟机IP # 如果ssh端口不是22,用-p指定端口 ssh -p 2222 虚拟机用户名@虚拟机IP

示例:

ssh root@192.168.122.100
  1. 首次连接提示指纹:输入yes回车
  2. 提示输入密码:能输入密码登录成功 →PasswordAuthentication yes 生效
  3. 直接提示 Permission denied,不让输密码 → PasswordAuthentication 是 no

创建快照

返回列表