Windows 10登陆Samba失败问题(Win10用微软账户登陆)

2020-04-03T20:46:00

[scode type="info"]关于Windows登陆Samba失败的话题由来已久,但搜遍网上的帖子,有一个原因均没有提及,那就是Win10是否使用了微软账户联网登录,如果是,那么按照网上的教程操作十有八九无法解决问题。[/scode]

问题描述

最近刷OpenWrt时心血来潮弄了个Samba服务器,想要在局域网内共享文件,但是Android手机登录Samba顺畅无比,但家里两台Win10电脑均无法登录,上网搜遍了解决方案但还是无济于事,于是用WireShark抓包,终于发现问题症结所在。

问题分析

[scode type="yellow"]注意,此时我的Win10设备已经开启Samba 1.0支持!
Win10开启Samba 1.0支持[/scode]
我有两台OpenWrt设备,分别运行samba36和samba4的server,通过WireShark抓包分析,可以发现Win10面对这两台设备所表现出的反应是不同的。

Win10连接Samba36时的反应


如上图所示,Win10在连接Samba36时,首先向Samba36询问:“我这些协议你看看你用哪个能给我提供服务?”,然后Samba36回:“用NT LM 0.12吧”,于是连接建立成功,Win10用微软账户直接登录。这个用微软账户直接登录登录是最坑的,一般来说微软账户用的都是邮箱,和Samba里面存在的账户一致的可能性几乎为0。Samba36服务器反应还算厚道,会弹出窗口告诉你用户名和密码错误(如下图所示),让你重新填写,于是当你重新填写之后就一切正常了。

Win10连接Samba4时的反应


如上面4张图所示,Win10在连接Samba4时,首先询问:“我这些协议你看看你能用哪个给我提供服务?”,然后Samba4回复:“什么垃圾协议,给我整点SMB 2.0以上的!”,然后Win10把自己SMB 2.0以上的协议报给Samba4,Samba4回:“就用SMB 3.1.1吧!”,然后连接建立成功,同样地,Win10用微软账户直接登录。一旦这样做,此时Win10不再会像连接Samba36时给你机会填写用户名和密码,直接显示连接不成功,如下图所示。

问题解决

既然用微软账户联网登录的Win10主动向Samba服务器提供邮箱地址作为登录信息,那我们让Win10在向别人做自我介绍时用Samba里面的账户即可。按照如下步骤即可解决问题,此方法对Samba36和Samba4均有效
1、打开控制面板,选择凭据管理器

2、选择Windows凭据,然后点击添加凭据

3、填入Samba服务器的地址、用户名和密码,点击OK后保存即可。
[scode type="blue"]服务器地址也可以是IP地址形式,但前面必须有反双斜线[/scode]

解决验证

如下图所示,Win10已经可以正常登录Samba服务器了。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »