当前位置: 首页 > news >正文

实现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服务器无法连接的解决方法,如有不足,感谢补充。

http://www.lryc.cn/news/453740.html

相关文章:

  • Rust 语言开发 ESP32C3 并在 Wokwi 电子模拟器上运行(esp-hal 非标准库、LCD1602、I2C)
  • 项目-坦克大战笔记-墙体销毁以及人机销毁
  • 硬件设计-利用环路设计优化PLL的输出性能
  • Vue入门-Node.js安装
  • OpenCV threhold()函数
  • Qt教程(002):Qt项目创建于框架介绍
  • 《C++游戏人工智能开发:开启智能游戏新纪元》
  • SPSS and Origin Paired Samples T-Test
  • 速成java记录(上)
  • 春秋云镜靶场之CVE-2022-28525
  • 【LLM】Agent在智能客服的实践(AI agent、记忆、快捷回复 | ReAct)
  • 19款奔驰E300升级新款触摸屏人机交互系统
  • Python知识点:如何使用Spark与PySpark进行分布式数据处理
  • 低功耗4G模组Air780E之串口通信篇
  • Python | Leetcode Python题解之第455题分发饼干
  • 交叠型双重差分法
  • Java中的数据合并与拆分:使用Stream API实现数据的灵活处理
  • Arthas(阿尔萨斯)
  • 黑马linux笔记(转载)
  • SQL Server—通配符(模糊查询)详解
  • 软考系统分析师知识点二:经济管理
  • C语言自定义类型联合和枚举(25)
  • Kafka 的重平衡问题详解及解决方案
  • 比较GPT4比较正确的回复的提问方式和比较失败的提问方式之间的区别?
  • jmeter学习(1)线程组与发送请求
  • 【小技巧】mysql 判断表字段是否存在 删除字段 sql脚本
  • 低代码革命:重塑工业互联网的未来版图
  • KNN算法
  • TS 中类型的继承
  • 在VS code 中部署C#和avalonia开发环境