最近電腦升級了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共享,缺點是安全性下降。