以下C程序編譯並吐出「/ Users/home/tempdir」目錄的目錄列表。如何從C程序scp?
#include <stdio.h>
#include <unistd.h>
int main(int argc, const char * argv[])
{
execl("/bin/ls", "ls", "/Users/home/tempdir");
// execl("/usr/bin/scp", "scp", "myfile.txt [email protected]:/Users/home/scpdir");
return 0;
}
這表明可以從C程序執行二進制文件。我想弄清楚如何執行「scp」二進制文件並輸入所需的密碼。我如何修改上面的代碼來實現通過scp成功傳輸文件?
我嘗試這上面,但是我收到以下消息時,它是註釋掉註釋掉行:
usage: scp [-1246BCEpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[[email protected]]host1:]file1 ... [[[email protected]]host2:]file2
因此它明顯是想沒有密碼進行SCP。我如何解決這個問題?
我試圖擺脫的第二個參數「SCP」的,但是我得到相同的用法說明,但這次我得到警告「的main.c:17:警告:沒有足夠的可變參數,以適應哨兵」 – user1068636