2014-03-19 120 views
0

我遇到了一個問題,我必須在另一臺機器上運行腳本,如root我只能做的ssh無密碼oracle,所以我不得不寫類似的東西:以oracle用戶身份與ssh連接時以root用戶身份運行腳本

su - oracle -c "ssh $node /tmp/x.sh" 

如何運行x.sh爲根?

編輯

[[email protected] ~]# su - oracle 
[[email protected] ~]$ su 
Password: 
su: incorrect password 
[[email protected] ~]$ 
+1

你最初是root用戶,將用戶更改爲oracle,然後嘗試再次更改回root用戶?爲什麼?你沒有連接到遠程機器。 –

+0

因爲我只能用oracle來ssh。另外我需要以根用戶身份運行我的命令 – AloneInTheDark

+0

是的,但是您還需要連接到某處的遠程盒。看到我的新答案。 –

回答

1

你試過

su - oracle -c "ssh [email protected]$node /tmp/x.sh" 
+0

我不工作,因爲當我只能ssh到另一個節點作爲oracle。當我使用oracle ssh到其他節點時,然後以root身份運行,它需要密碼。 – AloneInTheDark

+0

如果您無法以超級用戶身份進行ssh登錄,則需要使用sudo訪問權限或root密碼。如果您沒有這些功能,則需要與正在嘗試執行此操作的計算機的管理員通話。 –

+0

我有root密碼,但是如何在腳本中使用密碼ssh? – AloneInTheDark

0

試試這個:

[[email protected]]# su - oracle 
[[email protected]]$ ssh box2 
[[email protected]]$ su - 

然後在遠程框中輸入root的密碼。它應該繼續爲

[[email protected]]# /tmp/x.sh 

你就完成了。

+0

我可以用putty作爲根連接到機器,但不能用「su - 」命令連接,這很奇怪。如果我得到正確的密碼,如何在從腳本運行時設置密碼? – AloneInTheDark

+1

您不希望存儲在腳本中的根密碼。您可以設置ssh以允許訪問,而無需使用沒有密碼的鍵輸入任何內容。 Google對「ssh passphrase-less root access」會給你一些提示。 –

+0

謝謝,我會檢查它。 – AloneInTheDark

相關問題