环境说明:本机windows10,虚拟机Ubuntu,虚拟机设置两个网络适配器分别为桥接和NAT模式。远程连接工具分别是xftp7和xshell7。
windows的cmd中ipconfig获取本机ip(无线局域网适配器 WLAN: IPv4 地址)。同时查看以太网适配器 VMware Network Adapter VMnet8: IPv4 地址的网段
虚拟机在终端ifconfig获取linux内部网络ip(ens38:inet)比对VMnet8的网段,是一致的。
在xftp/xshell中设置,例如xftp中新建设置ip和端口(22),输入用户名(一般为root)和密码,连接失败。
1、本机cmd中ping虚拟机能ping通,虚拟机终端上ping不通本机
原因是windows防火墙启用了,无法ping通。
禁用防火墙后确实可以ping通,但是windows主机是需要有安全防护考虑的,不能一直禁用。那么我们可以启用防火墙,然后做以下设置:
打开windows安全中心,选择防火墙与网络保护,在下面点击高级设置,然后选择入站规则,找到“文件和打印机共享(回显请求 – ICMPv4-In)”规则,右键启用即可。
参考:
如何解决主机可以ping通虚拟机,虚拟机不能ping通主机?_时光成梦的博客-CSDN博客_虚拟机ping不通主机,主机能ping通虚拟机
2、互相可以ping通,xftp/xshell无法连接虚拟机服务器
原因:
Ubuntu系统没有安装远程连接的服务器端软件openssh-server,所以需要手动安装。
解决方法:
1、在保证Ubuntu系统能够连接互联网的前提下,安装命令为sudo apt-get install openssh-server;
2、安装openssh-server中间需要手动确认一下,安装完成后可以通过netstat -tnl确认openssh-server已启动。
安装前后netstat -tnl查询区别:
参考:
可以ping通但xshell无法连接 - CSDN
通过安装openssh-server后,再次连接xftp/xshell,弹出输入服务器密码框,输入后发现SSH拒绝了,无法通过。
3、SSH服务器拒绝密码问题解决
需要更改sshd的配置文件信息即可:
①输入命令,进入到sshd的配置文件:sudo vim /etc/ssh/sshd_config
②找到如下Authentication配置,使用 i 开启编辑:
将其更改为:# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
另外通过Esc,再输入:wq保存退出
③重启系统即可:reboot
④再次用xftp连接即可
可以发现xftp连接上了:
参考:
Linux 通过Xftp访问提示SSH服务器拒绝了密码问题解决 - 走看看 (zoukankan.com)
4、连接上服务器后,目录中乱码
乱码是编码方式和解码方式不一致导致的,只需要选择xftp中该服务器设置属性窗口,点击选项按钮,在编码中选择UTF-8即可。确认后连接可以发现文件夹汉字都不乱码了。
再试试xshell,发现也能够连接上了: