【问题标题】:Plain text passwords are disabled NetBios remote connection纯文本密码被禁用 NetBios 远程连接
【发布时间】:2015-05-26 11:16:38
【问题描述】:

我正在尝试远程连接到 Windows 机器并从这台机器上获取文件。 这是我的代码,

 path = path.replace(":","");
        path = path.replace("\\","/");
        String smbpath="smb://"+host+":445/"+path; //c/alon2.txt";

        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user+":"+password);
        SmbFile smbFile = new SmbFile(smbpath,auth);

        SmbFileInputStream input = new SmbFileInputStream(smbFile);
        Files.copy(input, destPath.toPath());
        System.out.println("completed fetching file");
        return destPath;

我得到了这个例外,“纯文本密码被禁用”, 我试图把 jcifs.Config.setProperty("jcifs.smb.client.disablePlainTextPasswords","true"); 它不起作用,我不想禁用服务器中的 smb 3rd 方。 有什么想法吗?

java.lang.RuntimeException:纯文本密码被禁用 在 jcifs.smb.SmbComTreeConnectAndX.writeParameterWordsWireFormat(SmbComTreeConnectAndX.java:129) 在 jcifs.smb.AndXServerMessageBlock.writeAndXWireFormat(AndXServerMessageBlock.java:94) 在 jcifs.smb.AndXServerMessageBlock.writeAndXWireFormat(AndXServerMessageBlock.java:166) 在 jcifs.smb.AndXServerMessageBlock.encode(AndXServerMessageBlock.java:65) 在 jcifs.smb.SmbTransport.doSend(SmbTransport.java:439) 在 jcifs.util.transport.Transport.sendrecv(Transport.java:67) 在 jcifs.smb.SmbTransport.send(SmbTransport.java:655) 在 jcifs.smb.SmbSession.sessionSetup(SmbSession.java:316) 在 jcifs.smb.SmbSession.send(SmbSession.java:218) 在 jcifs.smb.SmbTree.treeConnect(SmbTree.java:176) 在 jcifs.smb.SmbSession.logon(SmbSession.java:147) 在 jcifs.smb.SmbSession.logon(SmbSession.java:140) 在 com.hp.autopass.usagehub.service.util.osutils.NetBiosConnection.authenticate(NetBiosConnection.java:47) 在 com.hp.autopass.usagehub.service.NetBiosConnectionTest.authenticateTest(NetBiosConnectionTest.java:34) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 在 org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 在 org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 在 org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) 在 org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 在 org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 在 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.junit.runner.JUnitCore.run(JUnitCore.java:137) 在 com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)

【问题讨论】:

    标签: java remote-access netbios


    【解决方案1】:

    你应该使用jcifs.Config.setProperty("jcifs.smb.client.disablePlainTextPasswords","false"); 启用纯文本密码。在您的代码中,您将此标志设置为true

    【讨论】:

    • 我有同样的问题,当我尝试添加指定的配置时,它会在线程“main”jcifs 中引发另一个异常异常。钐。 SmbException:0xC000009A 在 jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563) 在 jcifs.smb.SmbTransport.send(SmbTransport.java:663) 在 jcifs.smb.SmbSession.sessionSetup(SmbSession.java:316) 在 jcifs .smb.SmbSession.send(SmbSession.java:218) 在 jcifs.smb.SmbTree.treeConnect(SmbTree.java:176) 在 jcifs.smb.SmbFile.doConnect(SmbFile.java:911) 在 jcifs.smb.SmbFile。在 jcifs.smb.SmbFile.connect0(SmbFile.java:880) 处连接(SmbFile.java:957)
    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 2010-09-08
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2013-06-21
    相关资源
    最近更新 更多