【发布时间】:2010-02-10 06:46:54
【问题描述】:
我们正在尝试 sftp 到需要相互身份验证的服务器。我们需要在 java 中以编程方式执行此操作。
在连接到 SSH 服务器时,有没有办法通过 apache vfs 使用相互身份验证(客户端证书)?
【问题讨论】:
标签: java ssh sftp apache-commons-vfs
我们正在尝试 sftp 到需要相互身份验证的服务器。我们需要在 java 中以编程方式执行此操作。
在连接到 SSH 服务器时,有没有办法通过 apache vfs 使用相互身份验证(客户端证书)?
【问题讨论】:
标签: java ssh sftp apache-commons-vfs
我不确定您所说的相互身份验证是什么意思。所有 SSH 会话都涉及向客户端验证服务器的身份,反之亦然。我确实知道 Commons-VFS 使用 JSCH 作为其底层 SSH 层,您可以将 password 和 publickey 身份验证与 JSCH 一起使用(因此也可以使用 Commons-VFS)。此外,JSCH 支持 GSS-API 进行身份验证,大概是为了支持不直接支持的其他身份验证机制,但我没有看到通过 VFS 使用它的任何方式,也没有看到 JSCH 或 Commons VFS 中的任何直接支持为certificate based authentication。 This class 具有您可以在 Commons VFS 中的文件系统提供程序上设置的所有 SFTP 特定选项,而 this page 具有所有 JSCH 信息,这将使您在设置 SFTP 选项时更加灵活,但如果您在代码中减少同质性'也在使用其他类型的 VFS 文件系统。
如果这些都不满足,您可以等待 Java 7,它将具有可插入的文件系统提供程序,我相信有人会在此之后很快编写一个不错的 SFTP 提供程序。
【讨论】: