0

我们正在尝试 sftp 到需要相互身份验证的服务器。我们需要在 Java 中以编程方式执行此操作。

连接到 SSH 服务器时,有没有办法通过 apache vfs 使用相互身份验证(客户端证书)?

4

1 回答 1

0

我不确定您所说的相互身份验证是什么意思。所有 SSH 会话都涉及向客户端验证服务器的身份,反之亦然。我确实知道 Commons-VFS 使用 JSCH 作为其底层 SSH 层,并且您可以使用密码公钥身份验证与 JSCH(因此使用 Commons-VFS)。此外,JSCH 支持 GSS-API 进行身份验证,大概是为了支持不直接支持的其他身份验证机制,但我没有看到通过 VFS 使用它的任何方式,也没有看到 JSCH 或 Commons VFS 中的任何直接支持用于基于证书的身份验证此类具有您可以在 Commons VFS 中的文件系统提供程序上设置的所有 SFTP 特定选项,以及此页面包含所有 JSCH 信息,这将使您在设置 SFTP 选项时更加灵活,但如果您还使用其他类型的 VFS 文件系统,则代码的同质性会降低。

如果这些都不满足,您可以等待 Java 7,它将具有可插入的文件系统提供程序,我相信有人会在此之后很快编写一个不错的 SFTP 提供程序。

于 2010-02-10T08:40:45.567 回答