GNU/Linux >> Znalost Linux >  >> Linux

Nejlepší způsob, jak skriptovat vzdálené příkazy SSH v dávce (Windows)

Můžete také použít Bash on Ubuntu on Windows přímo. Např.

bash -c "ssh -t [email protected] 'cd /; sudo my-command'"

Podle komentáře Martina Přikryla níže:

-t umožňuje emulaci terminálu. Zda potřebujete emulaci terminálu pro sudo, závisí na konfiguraci (a ve výchozím nastavení ji nepotřebujete, zatímco mnoho distribucí přepíše výchozí). Naopak mnoho dalších příkazů potřebuje emulaci terminálu.


Jako alternativní možnost můžete nainstalovat OpenSSH http://www.mls-software.com/opensshd.html a poté jednoduše ssh [email protected] -pw password -m command_run

Upravit:Po odpovědi uživatele user2687375 při instalaci vyberte pouze klienta. Jakmile to uděláte, měli byste být schopni spustit SSH z příkazu.

Poté můžete vytvořit dávkový skript ssh, například

ECHO OFF
CLS
:MENU
ECHO.
ECHO ........................
ECHO SSH servers
ECHO ........................
ECHO.
ECHO 1 - Web Server 1
ECHO 2 - Web Server 2
ECHO E - EXIT
ECHO.

SET /P M=Type 1 - 2 then press ENTER:
IF %M%==1 GOTO WEB1
IF %M%==2 GOTO WEB2
IF %M%==E GOTO EOF

REM ------------------------------
REM SSH Server details
REM ------------------------------

:WEB1
CLS
call ssh [email protected]
cmd /k

:WEB2
CLS
call ssh [email protected]
cmd /k

-m přepínač PuTTY vezme cestu k souboru skriptu jako argument, nikoli příkaz .

Odkaz:https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m

Takže musíte příkaz uložit (command_run ) do souboru ve formátu prostého textu (např. c:\path\command.txt ) a předejte to PuTTY:

putty.exe -ssh [email protected] -pw password -m c:\path\command.txt

Všimněte si však, že byste měli používat Plink (nástroj pro připojení příkazového řádku ze sady PuTTY). Je to konzolová aplikace, takže její výstup můžete přesměrovat do souboru (co nemůžete udělat s PuTTY).

Syntaxe příkazového řádku je identická, přidáno přesměrování výstupu:

plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt

Viz Použití nástroje pro připojení příkazového řádku Plink.

A s Plinkem můžete skutečně zadat příkaz přímo na jeho příkazovém řádku:

plink.exe -ssh [email protected] -pw password command > output.txt

Podobné otázky:
Automatizace spouštění příkazů na Linuxu z Windows pomocí PuTTY
Provedení příkazu v Plinku z dávkového souboru


Linux
  1. Neočekávané chování skriptu Shell?

  2. Nejlepší způsob, jak zajistit, aby se skript spouštěl jednou za období?

  3. Nejlepší způsob testování Ubuntu na počítači?

  1. zkontrolujte, zda soubor existuje na vzdáleném hostiteli pomocí ssh

  2. rsync/ssh/rsnapshot backup -- vzdálené spuštění skriptu

  3. Existuje způsob, jak provést vzdálené kopírování podobně jako scp?

  1. 6 nejlepších bezplatných alternativ Putty pro klienty SSH ve Windows

  2. Nejlepší způsob, jak připojit vzdálenou složku?

  3. Spuštění souboru exe nebo bat na vzdáleném počítači se systémem Windows z *nix