GNU/Linux >> Belajar Linux >  >> Linux

Jalankan skrip dari jarak jauh di Unix, dapatkan keluaran secara lokal?

Ini adalah default untuk SSH. Jika Anda ingin mengarahkan keluaran dari jarak jauh, letakkan simbol pengalihan (biasanya ">") di dalam tanda kutip perintah.

Misalnya:

ssh remote_host "ls > /tmp/file_on_remote_host.txt"

Untuk menyimpan output secara lokal di host Windows,

ssh remote_host "ls" > .\file_on_local_host.txt

Untuk menggabungkan stderr dari jarak jauh dan menyimpannya dan stdout secara lokal,

ssh remote_host "ls 2>&1" > .\combined_output_on_local_host.txt

Yang saya cari adalah tendangan samping dempul, plink.exe . Tidak seperti dempul, yang berfungsi seperti emulator terminal, plink bertindak seperti program CLI normal (non-interaktif).

Menggunakannya, saya bisa melakukan ini di cmd.exe dan simpan output perintah jarak jauh secara lokal.

\> plink remote_host "ls -l" > log.txt

Yang terbaik dari semuanya, ini berfungsi untuk ssh serta telnet !

Hanya untuk tujuan referensi, ini adalah opsi yang tersedia:

PuTTY Link: command-line connection utility
Release 0.59
Usage: plink [options] [[email protected]]host [command]
       ("host" can also be a PuTTY saved session name)
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol
  -P port   connect to specified port
  -l user   connect with specified username
  -batch    disable all interactive prompts
The following options only apply to SSH connections:
  -pw passw login with specified password
  -D [listen-IP:]listen-port
            Dynamic SOCKS-based port forwarding
  -L [listen-IP:]listen-port:host:port
            Forward local port to remote address
  -R [listen-IP:]listen-port:host:port
            Forward remote port to local address
  -X -x     enable / disable X11 forwarding
  -A -a     enable / disable agent forwarding
  -t -T     enable / disable pty allocation
  -1 -2     force use of particular protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for authentication
  -noagent  disable use of Pageant
  -agent    enable use of Pageant
  -m file   read remote command(s) from file
  -s        remote command is an SSH subsystem (SSH-2 only)
  -N        don't start a shell/command (SSH-2 only)
  -nc host:port
            open tunnel in place of session (SSH-2 only)

Ya, jika Anda menggunakan klien putty ssh, Anda akan melihat keluaran baris perintah apa pun yang akan dihasilkan skrip Anda. Untuk mendapatkan exit code setelah script berjalan ketik:

echo $?

Linux
  1. Cara Mengubah Port SSH Di Linux

  2. Cara Mengatur Tunneling SSH

  3. Ssh – Bagaimana Cara Menjalankan Script Segera Setelah Terhubung Melalui Ssh?

  1. Mengarahkan Output Subkulit ke Proses?

  2. Dapatkan Script Untuk Berjalan Lagi Jika Input Ya?

  3. Jalankan Script Yang Sama Pada Beberapa Server Melalui Ssh?

  1. Mengapa Saya Tidak Dapat Mendapatkan Output Pgrep Tepat Untuk Variabel Pada Skrip Bash?

  2. Cara menjalankan ssh di banyak port

  3. Tidak Dapat Menjalankan Aplikasi X Melalui SSH di Linux