2014-07-23 253 views
0

我需要將zip文件的副本自動化到遠程Linux機器,然後將該文件解壓縮到用戶的主目錄。通過ssh遠程運行命令

假設我們有user1和user2,user1是真實的人,但沒有主目錄,user2是具有主目錄但不能直接獲取對主機的shell訪問權限的應用程序用戶。爲user2獲得shell的機制是將ssh作爲user1然後su到user2。 (請不要在我爲大型公司工作時通過對此設置的評論,我無法改變這一方面,這是由IT安全決定的,而不是討論)。

我想用

scp ziptocopy.zip [email protected]:/var/tmp/ 

但我沒有在任何地方都在遠程主機上不存儲密鑰文件的USER1我不能我們公鑰/私鑰對用來執行這一點,任何人都可以提出一種方法來做到這一點?因爲我想ssh作爲USER1,然後su爲用戶2和運行

unzip /var/tmp/ziptocopy.zip 

再次我如何能做到這一點的任何建議

下一段更是棘手?我做了一個搜索,發現了一個使用期望的例子,這對scp有潛力,但我無法得到這個工作,但我如何期待應對2個密碼提示?

感謝

回答

0

我會考慮使用Python和Pexpect的/ pxssh模塊。現在,對於過去使用Expect處理的自動化任務,pexpect是一個不錯的選擇。

看到這個答案對於一些示例代碼中的SSH會話腳本:

How to make a ssh connection with python?