java - 如何使用 JSch 为 SFTP 连接添加 TLS 功能

标签 java ssl sftp tls1.2 jsch

我想为我的 SFTP 连接添加 TLS 支持。目前使用JSch来实现。
但我不确定如何使用它。

private void connection() {
    JSch jsch = new JSch();
    try {
      session = jsch.getSession(username, host, port);
      session.setPassword(password);
      session.setConfig(MAX_SESSIONS_PROP, MAX_SESSIONS_DEFAULT);
      session.setConfig(MAX_STARTUPS_PROP, MAX_STARTUPS_DEFAULT);
      session.setTimeout(DEFAULT_TIMEOUT_MS);
      session.connect();
      channel = session.openChannel(CHANNEL);
      channel.connect();
      channelSftp = (ChannelSftp) channel;
    } catch (JSchException e) {
      throw new ConnectException("Can not get connection to SFTP: ", e);
    }
  }

请帮帮我。

最佳答案

TLS 与 SFTP 无关。

例如,TL​​S 用于加密 FTP 连接。

SFTP 使用 SSH 进行加密。而且您无需为此做任何事情。在没有 SSH 的情况下,几乎永远不会使用 SFTP。 JSch 甚至不允许在没有 SSH 的情况下使用 SFTP(大多数其他 SSH 客户端/库也是如此)。

关于java - 如何使用 JSch 为 SFTP 连接添加 TLS 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60477852/

相关文章:

java - 使用 DocumentFilter.FilterBypass

java - 使用 getResourceAsStream() 从 src/test/resources 获取文件

java - 类的默认值

c# - SSL 还是自己的实现?

python - 在没有附加库的情况下,在 shell 或 Python 中使用 SFTP 递归获取文件列表

linux - 通过 bash 脚本从 sftp 中删除除最新的 X 文件之外的所有文件

java - 将 Katalon Studio 更新至版本 5.9.1 - ClassNotFoundException

ssl - TLS Extended Master Secret - 计算 session 哈希

java - 生成用于 python 请求的证书获取 PEM lib 错误

c# - 使用 WinSCP .NET 程序集连接到 SFTP 服务器时为 "Host key does not match configured key"