我正在查看go sftp服务器示例代码
有一段代码我不清楚
_, chans, reqs, err := ssh.NewServerConn(nConn, config)
if err != nil {
log.Fatal("failed to handshake", err)
}
fmt.Fprintf(debugStream, "SSH server established\n")
// The incoming Request channel must be serviced.
go ssh.DiscardRequests(reqs)
//
在使用Net::SSH::Any连接到服务器后,我想在同一会话中执行多个命令。
我的示例代码如下:
use strict;
use warnings;
use Net::SSH::Any;
my $host = "ip address";
my $user = "user";
my $passwd = "pass";
my $cmd1 = 'cd /usr/script';
my $ssh = Net::SSH::Any->new($host, user => $user, password => $pas
目标:通过SSH连接到AntMiner,并发送poweroff命令。
命令:plink.exe -v -t -ssh antminer -l root -pw xxx poweroff
Connecting to 10.0.1.11 port 22
We claim version: SSH-2.0-PuTTY_Release_0.70
Server version: SSH-2.0-dropbear_2012.55
Using SSH protocol version 2
Using Diffie-Hellman with standard group "group1
我创建了一个会话和一个频道。请求(ssh_channel_request_exec)应该每秒钟发送一次,我想读取这个请求的答案(ssh_channel_read)。但是,我找不到关于如何发出多个请求的示例,api只包含一个关于如何发出请求、读取答案和关闭通道的示例。
当我尝试按顺序请求和读取通道两次时,ssh_channel_request_exec第二次返回一个错误。是否有必要为每个请求打开一个新通道?
int ret = ssh_channel_request_exec(m_channel, request.c_str());
if (ret != SSH_OK)
{
ssh_ch