我们正试图将sftp发送到需要相互身份验证的服务器。我们需要在java中以编程方式执行此操作。
连接SSH服务器时,是否可以使用apache vfs进行相互身份验证(客户端证书)?
答案 0 :(得分:0)
我不确定相互身份验证的含义。所有SSH会话都涉及向客户端验证服务器的身份,反之亦然。我知道Commons-VFS使用JSCH作为其底层SSH层,您可以使用password和publickey认证与JSCH(因此使用Commons-VFS)。另外,JSCH支持GSS-API进行身份验证,可能是为了支持不直接支持的其他auth机制,但是我没有看到任何通过VFS使用它的方法,也没有看到JSCH或Commons VFS中的任何直接支持为certificate based authentication。 This class具有您可以在Commons VFS中的文件系统提供程序上设置的所有SFTP特定选项,this page具有所有JSCH信息,这将使您在设置SFTP选项时具有更大的灵活性,但在如果您正在使用其他类型的VFS文件系统,那么您的代码。
如果这些都不满足,您可以等待具有可插拔文件系统提供程序的Java 7,并且我确信有人会在出现后立即编写一个很好的SFTP提供程序。