2010-07-18 51 views
3

我正在編寫一個編程(在C中),我必須通過SSH連接從另一臺計算機訪問數據。我想知道如何在程序中創建SSH連接。在程序中創建SSH連接?

感謝

+0

操作系統? – onof 2010-07-18 21:29:03

回答

1

看一看libssh。你有沒有試圖自己尋找答案?你有沒有試過使用一些庫,並沒有讓他們工作?

在尋找施捨之前,最好儘量幫助自己。因人而異。

+4

堆棧溢出的答案是講義?這有點苛刻。 – 2010-07-19 04:39:06

+0

當沒有事先嚐試查找廣泛(並且容易)找到的信息時,是的。與在工作中或在現實生活中的任何其他地方一樣,至少在尋求別人給你的信息之前嘗試找到信息(又名,請求發放)。 – 2010-07-20 07:52:05

+0

所以你選擇了libssh是因爲名字? – user1973385 2017-02-18 23:24:00

3

一個簡單的解決方案是使用ssh二進制文件並從您的程序中調用該文件。創建3管道使用pipe(),然後fork(),close()適當的端點(不知道是否需要),所以你有2個進程與3管道之間。在孩子上,dup2()管道端點到stdin,stdout和stderr(即fd的0,1,2)和exec()的ssh命令。

在父進程中,您現在可以與另一方進行交談。使用RSA身份驗證來擺脫密碼的東西。

但是可能有庫只是連接,我不知道;-)

+1

哈哈;-)儘可能多的我喜歡這個,我不認爲這應該是最好的答案。 – 2010-07-18 21:44:11

+0

你不需要*關閉適當的端點,但是你不能從寫入端讀取,某些孩子不需要訪問某些端點,所以沒有理由不這樣做。 – ocket8888 2017-11-29 00:15:10