Bash on Ubuntu on Windows
も使用できます 直接。例:
bash -c "ssh -t [email protected] 'cd /; sudo my-command'"
以下の Martin Prikryl のコメントによると:
<ブロック引用>-t は端末エミュレーションを有効にします。 sudo のターミナル エミュレーションが必要かどうかは、構成によって異なります (多くのディストリビューションではデフォルトが上書きされますが、デフォルトでは必要ありません)。反対に、他の多くのコマンドはターミナル エミュレーションを必要とします。
別のオプションとして、OpenSSH http://www.mls-software.com/opensshd.html をインストールしてから、単純に ssh [email protected] -pw password -m command_run
をインストールできます。
編集:インストール時の user2687375 からの応答の後、クライアントのみを選択します。これが完了すると、コマンドから SSH を開始できるようになります。
次に、次のような ssh バッチ スクリプトを作成できます
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
PuTTY のスイッチはスクリプト ファイルへのパスを取ります コマンドではなく引数として .
参照:https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m
したがって、コマンドを保存する必要があります (command_run
) をプレーン テキスト ファイル (例:c:\path\command.txt
) そしてそれを PuTTY に渡します:
putty.exe -ssh [email protected] -pw password -m c:\path\command.txt
ただし、Plink (PuTTY スイートのコマンドライン接続ツール) を使用する必要があることに注意してください。これはコンソール アプリケーションであるため、その出力をファイルにリダイレクトできます (PuTTY ではできないこと)。
コマンドライン構文は同じですが、出力リダイレクトが追加されています:
plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt
コマンドライン接続ツール Plink の使用を参照してください。
また、Plink を使用すると、実際にコマンドラインでコマンドを直接提供できます:
plink.exe -ssh [email protected] -pw password command > output.txt
同様の質問:
PuTTY を使用して Windows から Linux で実行するコマンドを自動化する
バッチファイルから Plink でコマンドを実行する