2015-06-16 35 views

回答

1

有一個缺乏你的問題的一些信息。

你說你想運行sudo bash,然後ssh server01

請問sudo在你的遠程服務器上提示輸入密碼?

假設sudo中沒有密碼,運行bash會打開另一個shell等待用戶輸入。命令ssh server01將不會運行,直到該bash shell退出。

如果要運行2個命令,首先嚐試簡單的像:

ls -l /tmp ; echo "hi there" 

或者如果你喜歡:

ls -l /tmp && echo "hi there" 

工作的呢?

如果你想要的是運行運行bash之後SSH,你可以嘗試:

sudo bash -c "ssh server01" 
+1

我試過更簡單的一個,但那也行不通.. –

+0

這很奇怪,它爲我工作。你嘗試過哪些命令?你在控制檯上看到什麼? – carnicer

0

這可能是因爲該命令有望成爲一個程序名稱後面的參數,這將直接傳遞給程序。爲了得到由一個命令行解釋諸如bash提供&&和其他功能,試試這個:

/bin/bash -c "command1 && command2" 
+0

不工作... 只執行第一個命令.. –

+0

@AmanAggarwal:嘗試使用雙引號(我編輯了文章),我剛剛驗證,我的機器上工作。 –

+0

不工作... 其實我想運行「sudo bash && ssh server01」 sudo bash還有其他問題嗎? –

-1

您可以使用常規的shell語法PuTTY中執行兩個連續命令。例如。使用;&&


但要在sudo bash shell執行ssh server01,對不對?

這些不是兩個連續的命令,它是sudo bash內執行的ssh server01命令。

所以,你必須使用一個sudo命令行語法來執行ssh server01,像

sudo bash ssh server01 
0

我想我在我以前的答案建議。

可以在由膩子分隔的膩子中運行2個簡單命令。正如在我的例子中,我嘗試了ls和echo。遠程服務器運行它們,然後會話關閉。

我也嘗試SSH配置爲不要求密碼的遠程服務器。在這種情況下,它也可以工作,我可以連接到第二臺服務器,並且可以在其上運行命令。退出後,2個連接關閉。

所以,請讓我們知道你真正需要/想要什麼。

+0

我想用膩子連接自動運行兩個命令.. 第一個命令sudo bash需要密碼,然後ssh到另一個服務器。 –

相關問題