Jsch会话配置

rog*_*one 4 java ssh jsch ssh-tunnel

我在ssh配置文件中有如下所示的内容.我将不得不将相同的配置设置为我的Jsch会话.Jsch支持如下设置配置

session.setConfig(String name, String value);
session.setConfig(HashTable config);
session.setConfig(Properties config);
Run Code Online (Sandbox Code Playgroud)

但似乎没有一个支持分层嵌套设置(即设置仅适用于一系列主机)

Host git.*
  User git
  ProxyCommand ssh -q github.example.com nc git %p
Run Code Online (Sandbox Code Playgroud)

打开其他建议,例如创建SSH隧道或其他.

Ken*_*ter 9

您可能会误以为Jsch是ssh命令行实用程序的java版本.Jsch是SSH协议的实现.您可以使用它来构建命令行实用程序,但它不会实现与协议本身无关的命令行实用程序的所有功能.

这是一个示例页面,列出了Jsch接受的配置选项.你会注意到的一件事是列表看起来不像ssh配置选项.如果要支持ssh样式选项,您可能会发现编写自己的代码来解释和实现它们是必要的.

要实现特定于主机的选项,您的客户端程序必须知道它连接到哪个主机以及应该将哪些选项应用于该主机.

关于默认用户,远程用户名是您的代码在调用打开SSH会话的函数时将提供给Jsch的参数.如果您想拥有默认用户功能,则必须将该功能写入代码中.