在 Renci SSH.NET 中启动自定义 SSH 子系统(相当于 ch.ethz ssh2.Session.StartSubSystem())

Start custom SSH subsystem in Renci SSH.NET (an equivalent of ch.ethz ssh2.Session.StartSubSystem())

我需要在大型机上启动专有的 SSH 子系统。

我已将我的项目迁移到 dotnet core,但它不支持 ch.ethz.ssh2。我已将 lib 更改为 Renci.SSHNET 但没有命令可在远程计算机上启动子系统。

在 ssh2 上

Session sess = conn.openSession();
int term_width = 0;
int term_height = 0;
sess.requestPTY("dumb", term_width, term_height, 0, 0, null);
sess.startSubSystem("xxx");

在 renci.sshnet 我正在使用 SshClient

ConnectionInfo connInfo = new ConnectionInfo(
    HostIp,
    Port,
    HostUser,
    new AuthenticationMethod[]{
        new PasswordAuthenticationMethod(HostUser,HostPass.TrimEnd()),
    });
msshclient = new SshClient(connInfo);
msshclient.Connect();

SSH.NET public API 似乎不可能。

但如果您愿意修改 SSH.NET 代码,那应该是微不足道的。从 Session.CreateChannelSession.

开始