[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: "Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Fri, 15 May 2015 09:29:21 -0700
- To: libssh@xxxxxxxxxx
Thanks Emre,I've added verbosity and everything is returning successfully. The problem is that requestExec() is not actually running the command that I ask it to. It returns successfully, but does nothing.
On 05/14/2015 11:24 PM, Emre Soranlar 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 properlyOn 15 May 2015 at 09:11, Emre Soranlar <emresoranlar@xxxxxxxxx <mailto: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 <mailto: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 <tel:888.810.4284%20x702> | *e* dmiller@xxxxxxxxxxxx <mailto: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 SORANLARAnkara University Software Engineer Environmental Tectonics Corp/ Turkey / ODTU -- EMRE SORANLAR Ankara University Software Engineer Environmental Tectonics Corp/ Turkey / ODTU
-- 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.harbrick.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.
Re: C++ Wrapper, getting started | "Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx> |
C++ Wrapper, getting started | "Dave Miller @ Harbrick" <dmiller@xxxxxxxxxxxx> |
Re: C++ Wrapper, getting started | Emre Soranlar <emresoranlar@xxxxxxxxx> |