Hi Dave,
You should set port number and verbosity for the connection. And make
sure the ssh is active on the remote computer. See the my connection,
( this is C code but there is no difference in c++ )
int verbosity = SSH_LOG_PROTOCOL;
int port = 22;
char *password = "test";
int rc;
ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST, "192.168.56.102");
ssh_options_set(my_ssh_session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
ssh_options_set(my_ssh_session, SSH_OPTIONS_PORT, &port);
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "user");
rc = ssh_connect(my_ssh_session);
if ( rc == SSH_OK )
{
EventLogger::LogMessage(true, "Connection succeded %d", rc);
}
else
{
EventLogger::LogMessage(true, "ssh_connect failed %d", rc);
return false;
}
rc = ssh_userauth_password(my_ssh_session, NULL, password);
if ( rc == SSH_AUTH_SUCCESS )
{
EventLogger::LogMessage(true, "Authenticate succeded %d", rc);
}
Try that way, this is working on my machine properly
On 15 May 2015 at 09:11, Emre Soranlar <[email protected]
<mailto:[email protected]>> wrote:
Hi Dave,
You should set port number and verbosity for the connection. And
make sure the ssh is active on the remote computer. See the my
connection, ( this is C code but there is no difference in c++ )
int verbosity = SSH_LOG_PROTOCOL;
int port = 22;
char *password = "test";
int rc;
ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST,
"192.168.56.102");
ssh_options_set(my_ssh_session,
SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
ssh_options_set(my_ssh_session, SSH_OPTIONS_PORT, &port);
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "user");
rc = ssh_connect(my_ssh_session);
if ( rc == SSH_OK )
{
EventLogger::LogMessage(true, "Connection succeded
%d", rc);
}
else
{
EventLogger::LogMessage(true, "ssh_connect failed
%d", rc);
return false;
}
rc = ssh_userauth_password(my_ssh_session, NULL, password);
if ( rc == SSH_AUTH_SUCCESS )
{
EventLogger::LogMessage(true, "Authenticate succeded
%d", rc);
}
Try that way, this is working on my machine properly
On 15 May 2015 at 02:49, Dave Miller @ Harbrick
<[email protected] <mailto:[email protected]>> wrote:
Greetings libssh,
I'm having trouble getting started using the C++ wrapper. I'd
like to start a session+channel to do commands on a remote
machine.
Can't get it to work. What am I missing? Also, I've shown in
the comments where a disconnect call causes a seg fault.
Thank you!
Code:
#include <iostream>
using namespace std;
#include <libssh/libsshpp.hpp>
int main()
{
ssh::Session session;
try
{
session.setOption( SSH_OPTIONS_USER, "user" );
session.setOption( SSH_OPTIONS_HOST, "192.168.200.101" );
session.connect();
session.userauthPassword( "password" );
ssh::Channel channel( session );
channel.openSession();
channel.requestExec( "psync-manager stop" );
channel.close();
channel.sendEof();
// This causes a seg fault in ssh_channel_free() ???
// session.disconnect();
}
catch (ssh::SshException e)
{
std::cout << "Error during connection : ";
std::cout << e.getError() << std::endl;
}
return 0;
}
--
Dave Miller
--
EMRE SORANLAR
Ankara University
Software Engineer
Environmental Tectonics Corp/ Turkey / ODTU
--
EMRE SORANLAR
Ankara University
Software Engineer
Environmental Tectonics Corp/ Turkey / ODTU