在连接之前需要安装OpenSSH,命令如下:
sudo apt-get install openssh-server openssh-client
安装完成之后,执行netstat -tnl命令,查看22端口是否开通:
可以看到第5行的22端口处于LISTEN状态。
使用xshell连接linux虚拟机,连接失败的原因:
当我们在VMWare上安装好Ubuntu虚拟机后,有时候会需要使用多个terminal窗口,但是在虚拟机中多个窗口互相切换查看不方便,这时候用物理机的xshell工具连接到虚拟机中去就显得很方便。直接连一般都会失败,原因是:未开放22端口。
直接敲命令 ssh -vvv 39.105.27.78
这个是ssh客户端调试模式,你就可以看到卡到哪一个步骤了
服务器端打开调试模式 比如 sshd -D -ddd -p 10888 比如这个就是打开服务器端的调试,并且启动了新的实例,端口连接为10888,最好关闭防火墙或者放通该端口。
如图
看下系统认证日志 /var/log/secure 里面有当前连接卡在的步骤。或者你暂时使用web端的noVNC或者remote desktop, 登陆去看看。不忙的话,可以联系我,帮你从源码上调试。
NAT模式需要配置端口转发,否则无法从主机连接虚拟机的服务。
在VirtualBox/VmWare中设置。
以VirtualBox为例,选中欲设置的虚拟机,点击设置调出“设置对话框”如下:
VirtualBox的虚拟机设置界面
选中网络条目,点开高级,单击“端口转发”,界面如下:
新增一条规则如下:
新增的ssh端口转发规则
其中,主机IP需要去控制面板的网络适配器界面查找,我这里是192.168.56.1,如图:
在控制面板中,依次进入控制面板,网络和 Internet,网络连接,打开VirtualBox那个网卡,查看详细信息获得IP地址,这个IP地址是虚拟机和本机组成一个网络时,本机的IP地址,从这个地址设置端口转发即可。
VirtualBox 网卡的IP
VMWare设置相似,因为没有安装,所以没有截图。
设置好了之后,从本机终端运行,ssh 用户名@192.168.56.1,即可远程到虚拟机,截图如下:
登录成功界面
另外注意,ICMP协议是没有端口的,从虚拟机ping外网以及回应的ping包由VirtualBox/VmWare负责转发,不需要设定端口映射,所以你可以直接ping通百度
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)