[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ssh_channel_open_session only works the first time called
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: ssh_channel_open_session only works the first time called
- From: libssh.org_ml@xxxxxxxxxxxxxxxxxxxx
- Reply-to: libssh@xxxxxxxxxx
- Date: Tue, 2 Nov 2021 14:05:48 +0100
- To: libssh@xxxxxxxxxx
Hello!
I am trying to implement a simple "activate/deactive port" function for
a Cisco switch in C++.
For that I initialize a new SSH conection to the switch, which works
great, and then I am doing the following:
void activePort() {
ssh_channel channel = ssh_channel_new(getSession());
if (ssh_channel_open_session(channel) < 0)
{
// print the ssh_get_error() string
return;
}
ssh_channel_request_pty(channel);
[...]
read/write from and to channel
[...]
ssh_channel_close(channel);
ssh_channel_free(channel);
}
In my program I can call activatePort() excactly one times.
The second time I call activatePort() the ssh_channel_open() method
returns -1 and ssh_get_error() shows:
"Socket error: No error"
The last log message is: "channel_open: Sent a SSH_MSG_CHANNEL_OPEN type
session for channel 44"
Below is an extract of the first-run logs and from the second run.
What am I doing wrong? :(
=====================
FIRST RUN
=========
[2021/11/02 13:49:10.891679, 2] channel_open: Creating a channel 43
with 64000 window and 32768 max packet
[2021/11/02 13:49:10.891679, 3] ssh_packet_need_rekey: packet:
[data_rekey_needed=0, out_blocks=5, in_blocks=2
[2021/11/02 13:49:10.892676, 3] ssh_socket_unbuffered_write: Enabling
POLLOUT for socket
[2021/11/02 13:49:10.892676, 3] packet_send2: packet: wrote [type=90,
len=44, padding_size=19, comp=24, payload=24]
[2021/11/02 13:49:10.893673, 3] channel_open: Sent a
SSH_MSG_CHANNEL_OPEN type session for channel 43
[2021/11/02 13:49:11.887885, 3] ssh_packet_socket_callback: packet:
read type 91 [len=28,padding=10,comp=17,payload=17]
[2021/11/02 13:49:11.888847, 3] ssh_packet_process: Dispatching handler
for packet type 91
[2021/11/02 13:49:11.888847, 3] ssh_packet_channel_open_conf: Received
SSH2_MSG_CHANNEL_OPEN_CONFIRMATION
[2021/11/02 13:49:11.889845, 2] ssh_packet_channel_open_conf: Received
a CHANNEL_OPEN_CONFIRMATION for channel 43:3
[2021/11/02 13:49:11.890856, 2] ssh_packet_channel_open_conf: Remote
window : 8192, maxpacket : 4096
SECOND RUN
==========
[2021/11/02 13:49:12.669605, 2] channel_open: Creating a channel 44
with 64000 window and 32768 max packet
[2021/11/02 13:49:12.670603, 3] ssh_packet_need_rekey: packet:
[data_rekey_needed=0, out_blocks=13, in_blocks=17
[2021/11/02 13:49:12.671609, 3] ssh_socket_unbuffered_write: Enabling
POLLOUT for socket
[2021/11/02 13:49:12.671609, 1] ssh_socket_exception_callback: Socket
exception callback: 2 (0)
[2021/11/02 13:49:12.672598, 1] ssh_socket_exception_callback: Socket
error: No error
[2021/11/02 13:49:12.673644, 3] packet_send2: packet: wrote [type=90,
len=44, padding_size=19, comp=24, payload=24]
[2021/11/02 13:49:12.673644, 3] channel_open: Sent a
SSH_MSG_CHANNEL_OPEN type session for channel 44
Socket error: No error
===================
| Re: ssh_channel_open_session only works the first time called | Jakub Jelen <jjelen@xxxxxxxxxx> |