GNU/Linux >> Belajar Linux >  >> Linux

Cara terbaik untuk membuat skrip perintah SSH jarak jauh di Batch (Windows)

Anda juga dapat menggunakan Bash on Ubuntu on Windows secara langsung. Misalnya,

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

Per komentar Martin Prikryl di bawah ini:

-t mengaktifkan emulasi terminal. Apakah Anda memerlukan emulasi terminal untuk sudo tergantung pada konfigurasi (dan secara default Anda tidak memerlukannya, sementara banyak distribusi menimpa default). Sebaliknya, banyak perintah lain yang membutuhkan emulasi terminal.


Sebagai opsi alternatif, Anda dapat menginstal OpenSSH http://www.mls-software.com/opensshd.html lalu cukup ssh [email protected] -pw password -m command_run

Sunting:Setelah tanggapan dari user2687375 saat menginstal, pilih klien saja. Setelah ini selesai, Anda seharusnya dapat memulai SSH dari perintah.

Kemudian Anda dapat membuat skrip batch ssh seperti

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 switch Putty mengambil jalur ke file skrip sebagai argumen, bukan perintah .

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

Jadi, Anda harus menyimpan perintah Anda (command_run ) ke file teks biasa (mis. c:\path\command.txt ) dan meneruskannya ke Putty:

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

Namun perhatikan bahwa Anda harus menggunakan Plink (alat koneksi baris perintah dari Putty suite). Ini adalah aplikasi konsol, jadi Anda dapat mengarahkan keluarannya ke file (yang tidak dapat Anda lakukan dengan Putty).

Sintaks baris perintah identik, pengalihan keluaran ditambahkan:

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

Lihat Menggunakan alat koneksi baris perintah Plink.

Dan dengan Plink, Anda sebenarnya dapat memberikan perintah langsung di baris perintahnya:

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

Pertanyaan serupa:
Mengotomatiskan menjalankan perintah di Linux dari Windows menggunakan Putty
Menjalankan perintah di Plink dari file batch


Linux
  1. Cara Terbaik Untuk Memasang Folder Jarak Jauh?

  2. Cara Terbaik Untuk Memastikan Bahwa Skrip Dijalankan Sekali Periode?

  3. Cara Terbaik Menguji Ubuntu Di Komputer?

  1. 6 Alternatif Putty Gratis Terbaik untuk Klien SSH di Windows

  2. periksa apakah file ada di host jarak jauh dengan ssh

  3. cadangan rsync/ssh/rsnapshot -- eksekusi skrip jarak jauh

  1. Perilaku Tak Terduga Dari Skrip Shell?

  2. Menjalankan file exe atau bat pada mesin windows jarak jauh dari * nix

  3. tulis skrip shell ke ssh ke mesin jarak jauh dan jalankan perintah