[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C++ Wrapper, getting started


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

Follow-Ups:
Re: C++ Wrapper, getting started"Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx>
References:
C++ Wrapper, getting started"Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org