在 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
.
开始
我需要在大型机上启动专有的 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
.