最近电脑升级了Ubuntu16.04,用下来还算可以吧,但是在samba共享的时候发生了一些问题。Ubuntu在文件管理器中的网络中连接其他Linux电脑的共享没有问题,但是连接Windows的系统共享就会显示连接超时。
一开始以为是Windows防火墙的问题,但是关闭后故障依旧,把samba等一系列服务全部重装,问题依旧,尝试使用smbclient命令行工具连接共享,
smbclient -L 192.168.1.198 -U username%password
WARNING: The "syslog" option is deprecated
protocol negotiation failed: NT_STATUS_CONNECTION_RESET
得到如下错误信息,后来在samba的一个国外wiki上找到了解决办法:
Protocol negotiation failed: NT_STATUS_CONNECTION_RESET
Probably the server is configured not to accept protocol SMB1. Add option client max protocol = SMB2
in /etc/samba/smb.conf
. Or just pass argument -m SMB2
to smbclient
.
意思是我们目前的samba客户端使用的协议是SMB1,但是Windows10已经使用SMB2这个协议了,所以我们可以使用-m SMB2这个命令行参数来强制sambaclient使用SMB2协议,但是每次都使用命令行显然不方便,那么我们可以修改配置文件,在/etc/samba/smb.conf文件中添加client max protocol = SMB2 ,重启samba服务,正常访问Windows。
注:在Windows10中最好在网络和共享中心——>高级共享设置中关闭密码保护共享,这样可以无密码的访问Windows共享,缺点是安全性下降。