我需要並行運行一些命令,包括SCP。爲此我使用GNU並行。問題是我不知道如何將密碼傳遞給SCP。這類似於我跑的一行:在GNU Parallel中執行SCP
ls 2011_* | parallel scp {} [email protected]
如果ls
發現3個文件,SCP同時索要密碼3次,我只能輸入密碼的最後一個進程提示爲了它。
我暫時解決了使用公鑰連接的這個問題,但由於公司政策,這將不會成爲未來的選項。我閱讀了SCP手冊頁,但找不到選項,但我相當確信Parallel應該有一個選項允許我輸入密碼。
有人知道一種方法來解決這個問題嗎?
編輯:我想知道是否有一種方法,我可以告訴parallel
密碼,因此它可以在每次需要它的時間把它給scp
。也許像這樣的東西:
ls 2011_* | parallel scp {} [email protected] < file_with_password.txt
但指定的STDIN
重定向是scp
而不是ls
或parallel
。
編輯: 平行sshpass -p $ PASS SCP-P $ PORT -rp {}〜/ to_dir ::: $地址:〜/ from_dir/* – Jordan 2016-03-18 21:03:26
歡迎堆棧溢出!雖然這段代碼可能會回答這個問題,但最好包含一些_context_,解釋它的工作原理和_when_使用它。從長遠來看,僅有代碼的答案是沒有用的。此外,你可以[編輯]你的答案,不需要添加評論來表明它。我已經編輯它爲您添加您的更改和修復代碼格式(代碼高亮顯示四個空格)。 – 2016-03-18 21:11:53