2017-03-09 3 views
1

Hier ist, was ich weiß: -Pass Passwort als Enviornment Variable thourgh ssh

echo "passowrd" | sudo SOME_COMMAND

oben erwähnt Befehl melden Sie sich als root direkt in Bash-Shell und führen SOME_COMMAND.

Was ich zu tun versucht: -

Ich mag gleiche Aufgabe erfüllen, sondern von Remote-Rechner. Dafür möchte ich PASSWORD als Variable über ssh Befehl übergeben. etwas wie folgt aus: -

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

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

aber nicht $PASSWORD Variable nicht besteht.

Jede Hilfe wird geschätzt.

Danke !!!

Simeple Zusammenfassung: -

Hier ist, was ich tun möchte: -

ich eine Variable zu Remote-Host übergeben wollen, wenn ich über SSH anmelden, so kann ich darauf zugreifen in Remote-Host-Skript .

+0

zu 'sudo' Passwort über' stdin', versuchen Sie, [ '-S' oder' --stdin'] (http://www.unix.com/man-page/ linux/8/sudo /) Option zu 'sudo' ... – anishsane

+0

@anishsane Wie übergebe ich eine env-Variable mit ssh an remote shell? – mihir6692

+0

'ssh Benutzer @ Host-Variable = Wert Befehl' ?? z.B. 'ssh Benutzer @ Host PASSWORD = $ PASSWORD Befehl ' – anishsane

Antwort

0

jeden Tag hat some1 die gleiche Frage.
Sie sollten sudo und ssh nicht in einer Zeile verwenden.

Hier ist ein discution and solution, dass ich anwsering jesturday war.


Um eine Variable obwohl Rohr passieren Sie Folgendes tun können ...

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

Andere Methoden vorbei Dateien über scp oder rsync würde.

+0

Können Sie die Zusammenfassung meiner Frage überprüfen? Ich möchte nur eine Variable an den Remote-Host von meinem Host-Rechner übergeben. – mihir6692

+0

mein Beitrag aktualisiert – suleiman