2017-03-09 27 views
1

這裏是我知道的: -通行證密碼爲Enviornment變量thourgh SSH

echo "passowrd" | sudo SOME_COMMAND

上面提到的命令將登錄爲根直接在bash shell中並運行SOME_COMMAND

我所試圖做的事: -

我想執行相同的任務,但是從遠程計算機。爲此,我想通過ssh命令將PASSWORD作爲變量。是這樣的: -

ssh -o PASSWORD=password [email protected] 'echo $PASSWORD | sudo SOME_COMMAND'

(參考: - When ssh'ing, how can I set an environment variable on the server that changes from session to session?

,但它不通過$PASSWORD變量。

任何幫助將不勝感激。

謝謝!

Simeple總結: -

這是我想做的事情: -

我想一個變量傳遞到遠程主機時,我通過SSH登錄這樣我就可以在遠程主機上的腳本訪問。

+0

要通過'stdin'通過'sudo'密碼,嘗試添加['-S'或'--stdin'](http://www.unix.com/man-page/ linux/8/sudo /)選項到'sudo' ... – anishsane

+0

@anishsane如何使用ssh將任何env變量傳遞給遠程shell? – mihir6692

+0

'ssh user @ host variable = value command' ??例如'ssh user @ host PASSWORD = $ PASSWORD command' – anishsane

回答

0

每天some1都有同樣的問題。
你不能在一行中使用sudossh

這是一個discution and solution,我正在用jesturday。


傳遞變量,雖然管你可以做以下...

echo "Hello World!" | ssh [email protected] cat 

其他方法將通過scprsync路過的文件。

+0

你能檢查我的問題摘要嗎?我只想從主機傳遞一個變量給遠程主機。 – mihir6692

+0

已更新我的帖子 – suleiman