Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a SSH connection in a program?

Tags:

c

ssh

I am writing a programing (in C) in which I have to access data from another computer through an SSH connection. I was wondering how to create the SSH connection within the program.

Thanks

like image 336
walker Avatar asked Jun 26 '26 07:06

walker


2 Answers

One easy solution would be to use the ssh binary and call that from your program. Create 3 pipes using pipe(), then fork(), close() the appropriate endpoints (not sure if that's needed) so you have 2 processes with 3 pipes between them. On the child, dup2() the pipe endpoints to stdin, stdout and stderr (i.e. fd's 0, 1, 2) and exec() the ssh command.

On the parent process you can now just talk to the other side. Use RSA authentication to get rid of password stuff.

But there may be libraries to just connect, I don't know ;-)

like image 57
mvds Avatar answered Jun 28 '26 00:06

mvds


Have a look at libssh. Have you attempted to look for an answer yourself? Have you tried using some libraries and haven't got them working?

It is always best to try to help yourself before looking for handouts. YMMV.

like image 29
Dan McGrath Avatar answered Jun 28 '26 00:06

Dan McGrath