实现Xshell与虚拟机中Linux服务器的连接(附常见错误解决)
前言
Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
本文将介绍Xshell与虚拟机中Linux服务器连接的步骤,以及在连接过程中出现的问题和解决方法。

准备工作
Xshell的下载
本地机下载Xsell,大家可以直接去官方网站上下载,也可以通过网盘下载。
通过网盘分享的文件:Xshell
链接: https://pan.baidu.com/s/1VSt_CQAgE2etUzbj9QAUCQ?pwd=mp5d 提取码: mp5d
Xshell的下载安装步骤比较简单,在此不做赘述。
虚拟机的安装以及Linux服务器的创建
虚拟机的安装以及Linux服务器的创建 可点击参考这篇文章
获取服务器的IP地址
我们打开创建好的Linux服务器,输入ifconfig,此时会出现Linux服务器的网卡信息,包括IP地址,子网掩码等 ,记住IP地址。

如果没有显示出网卡信息,点击参考这篇文章。如果是按照参考文章进行配置的信息,千万不要忘记reboot重启服务器。
注意 :如果是虚拟机的Linux系统,建议将其配置成静态IP,因为dhcp地址池在虚拟机启动时有时会自动分配新的IP地址给服务器,这样原来可以连接的IP就连不上了。
配置完成静态IP以后,检查下本地机是否可以同Linux服务器进行通信,以及能否上网。如果无法连通本地机,也无法上网的话请点击参考这篇文章。(实现本地机和Linux服务器之间的通信的相关配置在该文章中均有介绍)

开始连接
然后我们打开Xshell,点击新建——》会话。然后输入一个名称,再输入主机地址(也就是虚拟机中网卡的IP地址),端口号选择默认的22端口即可,最后点击确定。

此时在会话对话框中会出现我们刚创建好的会话,选中该会话点击连接即可。

首次连接会出现密钥的生成以及确认,点击接受并保存,接着根据提示框输入用户名和密码即可。
正常来说,做到这里已经可以完成连接了,左上角的小绿灯应该是亮起来的,也就是如图:

但是有的伙伴可能已经发现,在我连接成功之前是出现了N次连接失败的情况,这也就是接下来我所说的问题解决。
以下是通过上网搜索(一上午。。。)以及不断踩坑找到的解决方法,希望能提供些方法。
Xshell连接失败问题
明明每一步都是按照教程来的,为什么自己就成了买家秀了呢?上网搜寻了一下,发现可能是我之前的配置影响到了虚拟机的网卡设置。

最终的方法:还原默认设置
这里我先说一下最终解决办法,如果说后面介绍到的原因(重启VMware、Linux服务器、Xshell;Linux服务器的ssh服务未开启;防火墙没有关闭,默认端口没有开放等)你都试验过了并且无效时,那就试试该方法。
先关上刚打开的Linux客户机,在虚拟机中找到编辑——》虚拟网络编辑器——》更改设置——》还原默认设置

点击后出现一个比较吓人的弹窗,不要怕,点它(大不了重新创建一个,毕竟你也习惯了是吧)。

然后等待一会。。。
然后再次打开Linux客户机,输入ifconfig,再次查看新的IP地址,我们把这个IP地址直接输入到Xshell新建会话中的主机框内,步骤和上面创建新建会话的步骤一样,再次点击连接,此时就可以完成连接了。这也是我本次遇到问题的解决方法。那么下面的一些是网上常见的解决手段。
重启Linux客户机、VMware、Xshell
再不行重启下电脑
开启ssh服务
因为我们本次使用的是SSH连接,因此在Linux服务器端需要开启SSH服务。你可以查看下ssh服务的状态
systemctl status sshd
显示running的表示正在运行,可以就说明你的SSH服务已经开启,可以看看防火墙是否关闭
如果是SSH已经安装过了,你可以使用如下命令启动
sudo systemctl start sshd
如果显示的其他信息,比如
[root@localhost dongliuyu]# systemctl status ssh
Unit ssh.service could not be found.
就说明你的Linux服务器上并没有安装SSH服务,如果你已经安装过yum包了,那么你可以直接通过以下命令安装SSH 服务:
检查是否存在yum包,如果已经安装过,会出现yum的版本信息
yum --version
通过yum安装SSH服务
sudo yum install openssh-server
安装完成后会出现以下信息

未安装yum包
方式一:直接使用wget下载(前提是你的虚拟机上中的服务器是可以正常联网的)
#进入系统YUM源的目录,查看该目录下有多少yum源
cd /etc/yum.repos.d
我的只有一个之前安装过的yum源,但是很多软件都无法安装了,因此下载一个新的yum源

本文我们用的是阿里源,阿里源的网址是:https://mirrors.aliyun.com/repo/,你可以找到适合自己的版本进行下载,以下是下载命令,你只需要将后面的版本改成自己的而即可。
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
安装完成以后你可以查看当前目录下yum的个数

ok,现在你就可以使用yum安装软件了。
比如你可以下载lrzsz插件,实现本地文件通过Xshell上传到虚拟机。
yum install lrzsz
此时当你在Xshell中输入rz,即可打开你的本地文件夹,你可以选取需要上传到服务器的文件。

方式二:(这种方法不推荐,一般都是在线安装yum源,也就是方式一)
你可以通过以下两个镜像网站下载你所需要的yum包,再通过命令解压安装。
网站一
网站二
下载时注意下目录,方便后面的解压和安装

安装完成yum包后即可使用yum安装SSH,并开启服务。
关闭防火墙
先检查下Linux服务器的防火墙是否关闭:
firewall-cmd --state

我们可以选择关闭防火墙
临时关闭
sudo systemctl stop firewalld
永久关闭
sudo systemctl disable firewalld
我们再次检查下防火墙的状态,显示not running即可。
服务器终端打不开或闪退
另外,如果是你的Linux服务器终端无法打开,一般是因为你的语言选择和服务器本身编码不同造成的,这应该和你所安装的Linux镜像有关。可以通过setting中的语言模块进行设置:

我这里改成英文状态就可以了,系统会提示你重新进入账号,重新登录即可。

然后就可以开心的使用终端输入命令行了!
以上就是Xshell和虚拟机中Linux服务器无法连接的解决方法,如有不足,感谢补充。
相关文章:
实现Xshell与虚拟机中Linux服务器的连接(附常见错误解决)
前言 Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 本文将介绍Xshell与虚拟机中Linux服务器连接…...
Rust 语言开发 ESP32C3 并在 Wokwi 电子模拟器上运行(esp-hal 非标准库、LCD1602、I2C)
文章目录 esp-rs 简介GithubRust 包仓库Rust 教程Wokwi 电子模拟器开发环境Rust 环境esp-rs 环境创建 ESP32C3 项目项目结构编译项目命令运行模拟器ESP32C3 烧录 esp-rs 简介 esp-rs 是一个专注于为 Espressif 系列芯片(如 ESP32、ESP32-S2、ESP32-C3 等࿰…...
项目-坦克大战笔记-墙体销毁以及人机销毁
在子弹撞到墙或者人机身上时会将碰撞到的墙体或者人机销毁 我们需要做到几点 检测子弹碰撞到的墙体或者人机将物体获取到 每帧遍历墙体列表与人机列表,检测被碰撞的墙,创建一个方法返回值为对应类型将被碰撞的物体返回出来 public static gudin wallp…...
硬件设计-利用环路设计优化PLL的输出性能
目录 前言 问题描述 问题分析步骤 杂散源头排查 245.76M 参考相噪: 30.72M VCXO的相噪性能测试如下: 解决方案 前言 LMK04832是TI 新发布的低抖动双环去抖模拟时钟, 其最高输出频率可以到达3250MHz, 输出抖动极低,3200MHz…...
Vue入门-Node.js安装
进入Node.js中文网 点击进入Node.js中文网 或者手动输入网址: https://www.nodejs.com.cn/download.html 点击下载64位安装包: 下载好之后双击进行安装 可选择个性化安装或默认安装 直接点【Next】按钮,此处可根据个人需求…...
OpenCV threhold()函数
OpenCV threhold()函数的主要用途是将灰度图转换为二值图像,实现灰度图的二值化,在机器视觉中使用频度较高,如尺寸量测,物体识别等。其原型如下: 函数参数: src 输入数组(多通道、8 位或 32 位浮点…...
Qt教程(002):Qt项目创建于框架介绍
二、创建Qt项目 2.1 创建项目 【1、New Project】 【2、选择Qt Widgets Application】 【3、设置项目名称和保存路径】 注意,项目名称和路径不要带中文。 【4、选择QWidget】 带菜单栏的窗口QMainWindow空白窗口QWidget对话框窗口QDialog 【5、编译】 2.2 项目框…...
《C++游戏人工智能开发:开启智能游戏新纪元》
在当今的游戏世界中,人工智能(AI)已经成为了不可或缺的一部分。它能够为游戏增添深度、挑战性和真实感,让玩家沉浸其中,享受前所未有的游戏体验。而对于 C开发者来说,如何在 C中实现高效的游戏人工智能开发…...
SPSS and Origin Paired Samples T-Test
SPSS https://www.spss-tutorials.com/spss-paired-samples-t-test/ Testing the Normality Assumption We can now test the normality assumption by running a Shapiro-Wilk test ora Kolmogorov-Smirnov test. Origin分析 两个软件计算的一样...
速成java记录(上)
简单学一下,要求不高,能看懂java代码就行。 (太不容易了,已经好久没写博客了,希望以后可以坚持) /*** 文档注释* Author zmj* Data 2024/10/5 15:46 下午* Version 1.0*/import java.util.Scanner;//输入…...
春秋云镜靶场之CVE-2022-28525
1.环境搭建 我们开启环境 可以看到题目提示我们是文件上传漏洞,那么我们就进行测试 2.开启环境 我们开启环境,可以看到是一个登录页面,登录页面:一种是弱口令,一种是自己进行注册,一种是SQL注入,一种是在…...
【LLM】Agent在智能客服的实践(AI agent、记忆、快捷回复 | ReAct)
note 内容概况:结合京粉app学习agent的实践 Agent架构:通过模型训练提升LLM识别工具的准确性;设计可扩展并安全可控的agent架构扩展业务能力。记忆:多轮对话应用中如何组织、存储和检索记忆来提升大模型对用户的理解。快捷回复&…...
19款奔驰E300升级新款触摸屏人机交互系统
《19 款奔驰 E300 的科技焕新之旅》 在汽车科技日新月异的时代,19 款奔驰 E300 的车主们为了追求更卓越的驾驶体验,纷纷选择对爱车进行升级改装,其中新款触摸屏人机交互系统的改装成为了热门之选。 19 款奔驰 E300 作为一款经典车型&#x…...
Python知识点:如何使用Spark与PySpark进行分布式数据处理
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! Apache Spark 是一个强大的分布式数据处理系统,而 PySpark 是 Spark …...
低功耗4G模组Air780E之串口通信篇
你对低功耗4G模组Air780E有多少了解? 今天我们来讲解低功耗4G模组Air780E的串口通信的基本用法,小伙伴们,学起来吧! 一、硬件准备 780E开发板一套,包括天线、USB数据线。 USB转TTL工具或线(例如ch340、…...
Python | Leetcode Python题解之第455题分发饼干
题目: 题解: class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:g.sort()s.sort()m, n len(g), len(s)i j count 0while i < m and j < n:while j < n and g[i] > s[j]:j 1if j < n:count 1i …...
交叠型双重差分法
交叠型双重差分法(Staggered Difference-in-Differences, Staggered DiD)是一种扩展的双重差分(Difference-in-Differences, DiD)方法,用于处理多个时间点的政策干预或处理组(treatment group)并…...
Java中的数据合并与拆分:使用Stream API实现数据的灵活处理
Java中的数据合并与拆分:使用Stream API实现数据的灵活处理 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java开发中,数据处理是最基础的操作之一,而在面对…...
Arthas(阿尔萨斯)
Arthas Arthas可以为你做什么? 安装下载 //Linux环境下 wget https://alibaba.github.io/arthas/arthas-boot.jar //Windows环境下可以直接去官网下载压缩包 https://arthas.aliyun.com/doc/download.html//启动命令 java -jar arthas-boot.jar 启动阿尔萨斯&#…...
黑马linux笔记(转载)
学习链接 视频链接:黑马程序员新版Linux零基础快速入门到精通 原文链接:黑马程序员新版Linux零基础快速入门到精通——学习笔记 黑马Linux笔记 文章目录 学习链接01初识Linux1.1、操作系统概述1.1.1、硬件和软件1.1.2、操作系统1.1.3、常见操作系统 1.…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
