为什么我的Xshell连接不了我的linux(centos 7)?
NAT模式需要配置端口转发,否则无法从主机连接虚拟机的服务。
在VirtualBox/VmWare中设置。
以VirtualBox为例,选中欲设置的虚拟机,点击设置调出“设置对话框”如下:
VirtualBox的虚拟机设置界面
选中网络条目,点开高级,单击“端口转发”,界面如下:
新增一条规则如下:
新增的ssh端口转发规则
其中,主机IP需要去控制面板的网络适配器界面查找,我这里是192168561,如图:
在控制面板中,依次进入控制面板,网络和 Internet,网络连接,打开VirtualBox那个网卡,查看详细信息获得IP地址,这个IP地址是虚拟机和本机组成一个网络时,本机的IP地址,从这个地址设置端口转发即可。
VirtualBox 网卡的IP
VMWare设置相似,因为没有安装,所以没有截图。
设置好了之后,从本机终端运行,ssh 用户名@192168561,即可远程到虚拟机,截图如下:
登录成功界面
另外注意,ICMP协议是没有端口的,从虚拟机ping外网以及回应的ping包由VirtualBox/VmWare负责转发,不需要设定端口映射,所以你可以直接ping通百度
XShell7软件是一款非常强大的安全终端、服务器远程连接模拟软件,支持SSH1、SSH2以及MicrosoftWindows平台的TELNET协议。软件操作起来也是非常简单,用户们全部都是可以轻松上手进行操作的。但是很多小伙伴在利用xshell软件连接虚拟机的时候,总是连接不上,这到底是怎么回事今天小编就xshell不能连接虚拟机的问题,提供一下解决办法,亲测可用!
Xshell连接不上虚拟机的解决办法
方法一
首先查看利用ifconfig命令去查看IP地址
然后打开xshell,如下图,点击新建,然后在主机处输入刚才查看的IP地址,再点击用户身份验证,输入用户名和密码,然后单击连接。
方法二:
如果sshd服务和防火墙都正常运行打开虚拟机管理界面,点击管理,选择主机网络管理器
查看网络IP设置,如果和远程主机里的IP地址配置一直,则将手动配置网卡改为自动配置网卡
此时再用xshell连接远程主机,可以正常访问,MySQL服务也可以正常访问了
方法三:
上边的方法如果连接失败,那么就需要查看ssh是否开启
1利用命令查看ssh是否安装:rmp-qa|grepssh
2如果没有安装可以利用命令:yuminstallssh去安装ssh
3安装成功后去用命令去启动ssh:ps-ef|grepssh出现以下情况说明已经启动(查看ssh是否启动命令有很多可以自行百度)
方法四:
如果ssh是开启的那么就去查看22号端口是否开启,或者被占用
1在宿主机中使用:netstat-antulp|grepssh查看端口,然后在任务管理器中找到端口占用的程序,进行关闭。
可以看到以下情况就是开启的。
需求简介
自从微软向全世界发布Windows 10下的 Linux子系统Windows Subsystem for Linux(WSL),WSL为Windows用户提供了巨大的便利,它的诞生可以让开发者们在 Windows 10 下通过 Bsh shell 运行原生的 Ubuntu 用户态二进制程序。当然,目前有很多方式在Windows系统下体验和学习Linux系统,主要包括以下几种方式:
虚拟机
通过在Windows系统下安装虚拟机Virtual Machine运行Linux系统,是目前比较流行的方式。但是运行虚拟机也有诸多不便,比如:耗内存大(土豪随意);划分的硬盘主机无法访问;与主机传输文件容易中断等。
双系统
给电脑安装双系统,在电脑启动的时候选择其中一种系统。这种方式对于Windowns深度用户比较麻烦,需要频繁开机更换系统。
服务器
租用服务器或购买服务器一般比较昂贵,如果仅仅是学习或偶尔用下完全没必要破费。
Windows 10下Linux子系统
通过简单的操作可以激活打开Linux子系统,体验原生态的Ubuntu,前提是能够忍受默认的终端界面(当然是有解决方法的)。
使用xshell登录Linux子系统
成功激活WSL后,能够忍受默认的命令终端的可以直接跳过下文。
习惯用Linux系统的用户,一般喜欢使用xshell通过SSH登录Linux系统,然后在界面优美的命令端操作Linux命令。
以下来介绍如何完美使用xshell登录Windows 10 Linux子系统:
查看ip
ifconfig ## 在Linux子系统默认命令端输入,查看ip地址查看ip
配置SSH服务
sudo apt-get remove --purge openssh-server ## 先删sshsudo apt-get install openssh-server ## 在安装ssh sudo rm /etc/ssh/ssh_config ## 删配置文件,让ssh服务自己想办法链接sudo service ssh --full-restart使用Xshell登录
上面命令执行完之后,在xshell中输入用户名和ip就可以通过xshell登录自己电脑的Linux。
配置永久解决方案
通过上面的方法,我们可以通过xshell登录自己电脑的Linux。但是断开之后重新开机,我们又需要重新配置SSH。因此,我们需要配置以下命令下,一劳永逸。
sudo service ssh --full-restart ## 将该命令保存为servicesh,存在home目录下配置好之后,下次开机,只需要在Linux子系统的默认终端运行sh servicesh命令后,关掉终端改用xshell登录即可。
配置自己的环境变量
以上设置成功后,可以vim ~/bashrc配置自己的环境变量,打造自己习惯的界面显示。
在windows下远程连接linux的ssh客户端有很多,比如Xshell,secureCRT,Putty,BitviseSSHClient,MobaXterm,DameWareSSH,SmarTTY,Cygwin等等,各软件都大同小异,你可以根据自给的使用习惯来进行选择,那我们今天要讲的就是如何使用Xshell来进行连接。
首先我们在自己的电脑中找到已安装的xshell并打开。
打开xshell后找到左上角第一个“文件”点击,弹出来一个下拉框,选择“新建”点击(或者直接按下快捷键“Alt+n”)。
点击“新建”之后就会出现下面这样一个界面,“名称”根据自己的需求填写,“协议”就是默认的SSH,“主机”是这一步最关键的,一定要填写正确,否则无法登录,端口也是默认的22,其他不用填,填写完成之后先不要点确定,看下一步。
找到坐便菜单栏中的“用户身份验证”点击,点击之后会让你填写用户名和密码,其中“方法”默认“password”,“用户名”填写你的FTP用户名,“密码”填写你的FTP密码,填写完成点击确定。
那这一步我们来登录我们刚才保存的账号,依次找到左上角“文件”--“打开”,弹出如下界面,左下角有一个选项“启动时显示此对话框”,这个选项的意思是:每次打开xshell都直接跳出这个对话框,根据需求勾选,然后找到你想登录的服务器,点击“连接”即可。
连接之后出现如下界面中的[root@]样式的,就证明连接成功了。
很简单吧,在使用的过程中一定要保证数据的安全,离开电脑或者不需要使用的时候,将其退出,更安全的方法是如果你服务器的“主机”“用户名”“密码”这三项记得很清楚的话,尽量不要保存账号密码,每次打开重新输入来进行连接。
直接敲命令 ssh -vvv 391052778
这个是ssh客户端调试模式,你就可以看到卡到哪一个步骤了
服务器端打开调试模式 比如 sshd -D -ddd -p 10888 比如这个就是打开服务器端的调试,并且启动了新的实例,端口连接为10888,最好关闭防火墙或者放通该端口。
如图
看下系统认证日志 /var/log/secure 里面有当前连接卡在的步骤。或者你暂时使用web端的noVNC或者remote desktop, 登陆去看看。不忙的话,可以联系我,帮你从源码上调试。
首先要能ping通linux服务器,然后linux服务器要开ssh服务,linux不需要安装就有这个服务的。下面是Linux的ssh的设置方法:首先要修改ssh的配置文件sshd_config,输入命令:vi/etc/ssh/sshd_config2在这个文件中,将PermitRootLoginwithout-password这一行修改为PermitRootLoginyes,这一行的意思是“允许root用户用ssh登录”。再去掉#PasswordAuthenticationno这一行的注释符号#,并把no改为yes,表示用ssh登录时需要密码认证。3修改完配置文件后就可以启动SSH服务了,启动命令为:/etc/initd/sshstart4如果不想每次启动linux后都要启动ssh服务的话,需要设置ssh开机自启动,命令是:update-rcdsshenable或者chkconfigsshon
0条评论