Запустите пользовательскую подсистему SSH в Renci SSH.NET (эквивалент ch.ethz ssh2.Session.StartSubSystem())

Мне нужно запустить проприетарную подсистему SSH на мейнфрейме.

Я перенес свой проект на ядро ​​​​dotnet, но он не поддерживает 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();

person Touchy Vivace    schedule 16.07.2020    source источник


Ответы (1)


Это невозможно с общедоступным API SSH.NET.

Но если вы хотите изменить код SSH.NET, это должно быть тривиально. Начните с Session.CreateChannelSession.

person Martin Prikryl    schedule 20.07.2020