如何在C語言程序中使用SSH?
1、這種功能用腳本實現最好2、最好弄成dsa公鑰驗證方式,也就是SSH無密碼登錄3、ssh的密碼輸入是綁定到TTY而不是stdin的,所以無法重定向(到管道)3.1、如果想通過程序輸入ssh密碼,那么就要模擬TTY,或者讓ssh認為你的輸入是直接來自TTY3.
2、或者,你干脆自己實現個最簡單的ssh協議吧3.
3、程序模擬TTY,一般會直接采用expact庫,這在腳本里面很方便,但由于C處理字符串過于笨拙……4、登錄之后,和ssh交互需要通過管道進行。用寫來模擬控制臺鍵入字符,用讀來取命令輸出數據;至于命令返回值……讀 echo $? 的輸出吧5、如果命令本身也有輸入/輸出提示,比如 rm xxx 會讓你按y什么的,那么你必須自己捕捉到這個提示,然后往管道寫一個"Y\n"進去。所以……也許還是expect方便。6、你可以搞一個腳本,在腳本里用expect完成登錄動作,然后下interact命令進入交互模式;然后在C里面用popen()執行這個腳本,這樣就可以避開登錄問題,但仍然要處理命令行交互問題(也就是回答are you sure之類的問題,當然這可以通過為命令傳入-y之類參數來繞開,不過有些命令未必支持)。
上一篇acer電腦是什么牌子
下一篇王牌戰士雙子最強天賦搭配