walker
walker

Reputation: 31

Creating a SSH connection in a program?

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

Upvotes: 3

Views: 7856

Answers (2)

mvds
mvds

Reputation: 47084

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 ;-)

Upvotes: 3

Dan McGrath
Dan McGrath

Reputation: 42018

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.

Upvotes: 1

Related Questions