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