當前位置:菜譜大全網 - 菜譜大全 - 如何在C語言程序中使用SSH

如何在C語言程序中使用SSH

1,這個功能最好用腳本實現。

2.最好做成dsa公鑰認證方式,也就是ssh免密碼登錄。

3.ssh的密碼輸入被綁定到TTY,而不是stdin,因此它不能被重定向(到管道)。

3.1.如果妳想通過程序輸入ssh密碼,妳應該模擬TTY或者讓ssh認為妳的輸入直接來自TTY。

3.2.或者,您也可以自己實現最簡單的ssh協議。

3.3,程序模擬TTY,壹般直接用expact庫,在腳本中很方便,但是因為C處理字符串太笨拙了...

4.登錄後,與ssh的交互需要通過管道進行。寫模擬控制臺中鍵入的字符,讀取命令輸出數據;至於命令返回值...讀echo $?輸出它。

5.如果命令本身有輸入/輸出提示,比如rm xxx會讓妳按Y什麽的,那麽妳必須自己捕捉這個提示,然後在管道裏寫壹個“Y\n”。因此...也許是方便期待。

6.可以做壹個腳本,使用expect完成腳本中的登錄動作,然後發出interact命令進入交互模式;然後使用popen()在C中執行這個腳本,這樣就避免了登錄問題,但還是要處理命令行交互問題(也就是回答妳確定嗎之類的問題,當然這可以通過為命令傳入-y之類的參數來繞過,但有些命令可能不支持)。