[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: C++ Wrapper, getting started
[Thread Prev] | [Thread Next]
- Subject: Re: C++ Wrapper, getting started
- From: Emre Soranlar <emresoranlar@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Fri, 15 May 2015 09:24:09 +0300
- To: libssh@xxxxxxxxxx
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 <emresoranlar@xxxxxxxxx> 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 <dmiller@xxxxxxxxxxxx>
> 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
>>
>> Software Engineer | *Harbrick LLC*
>>
>> 926 Public Ave | Moscow, ID 83843
>>
>> *c* 888.810.4284 x702 | *e* dmiller@xxxxxxxxxxxx | *w* www.harbrick.com
>> <http://www.habrick.com>
>> The preceding e-mail message (including any attachments) contains
>> information that may be confidential, may be protected by the
>> attorney-client or other applicable privileges, or may constitute
>> non-public information. It is intended to be conveyed only to the
>> designated recipient(s) named above. If you are not an intended recipient
>> of this message, please notify the sender by replying to this message and
>> then delete all copies of it from your computer system. Any use,
>> dissemination, distribution, or reproduction of this message by unintended
>> recipients is not authorized and may be unlawful.
>>
>
>
>
> --
> EMRE SORANLAR
> Ankara University
> Software Engineer
> Environmental Tectonics Corp/ Turkey / ODTU
>
--
EMRE SORANLAR
Ankara University
Software Engineer
Environmental Tectonics Corp/ Turkey / ODTU
| Re: C++ Wrapper, getting started | "Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx> |
| C++ Wrapper, getting started | "Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx> |