Одним из простых решений было бы использование двоичного файла ssh
и вызов его из вашей программы. Создайте 3 канала, используя pipe()
, затем fork()
, close()
соответствующие конечные точки (не уверен, если это необходимо), чтобы у вас было 2 процесса с 3 каналами между ними. На дочернем элементе dup2()
конечные точки канала для stdin, stdout и stderr (то есть fd's 0, 1, 2) и exec()
команда ssh.
В родительском процессе вы теперь можете просто поговорить с другой стороной. Используйте аутентификацию RSA, чтобы избавиться от паролей.
Но могут быть библиотеки для подключения, я не знаю; -)