Bagaimana saya bisa menjalankan perintah dalam mode batch lebih dari ssh? Artinya, apa ssh
yang setara dengan perintah itu sftp -b <filename> <hostname>
?
Saya memiliki seperangkat perintah yang ingin saya jalankan di set host yang terhubung ssh
. Atas sftp
, saya menyimpan perintah dalam file filename
dan terhubung ke host dan menjalankan perintah menggunakan perintah yang disebutkan sebelumnya.
Apakah hal seperti itu mungkin berakhir ssh
?
Jawaban:
Perbaiki saya jika saya salah, tetapi Anda tampaknya ingin menjalankan perintah shell biasa pada server jauh di mana skrip lokal.
Saya melakukan ini dengan beberapa 'eksekusi jarak jauh' aplikasi dalam lingkungan pengujian saya menggunakan Python bukannya shell:
ssh $userhost python < $pythonscriptfilename
.sumber
Setara SSH
sftp -b <filename> <hostname>
akan menjadi:ssh -o BatchMode=yes <hostname> sh -s < "<filename>"
sumber
Bagaimana membuatnya sederhana dan menjalankan file "batch" di komputer lain?
Dan file batch akan menjadi skrip shell yang normal sehingga sintaksis sudah dikenal.
sumber
man expect
? : \tapi itu bukan cara yang sempurna.
sumber
expect
dirancang untuk berinteraksi dengan program yang diharapkan berjalan pada terminal. Ini tidak terkait dengan masalah menjalankan perintah di atas ssh.mungkin
sumber
Anda dapat menggunakan perintah yang dipaksakan ssh.
Ini terkait dengan kunci tertentu. Ketika otentikasi dilakukan dengan kunci itu, perintah itu dijalankan dan koneksi keluar. Salah satu keuntungan dari pendekatan ini adalah peningkatan keamanan, karena dalam hal ini kunci tidak dapat digunakan untuk sampai ke shell login.
sumber
Opsi lain untuk skrip oleh Arcege adalah fungsi Bash:
Saya tidak menggunakan
-T
opsi ssh , karena tidak berfungsi dengan baik dalam semua kasus.Script ini menggunakan ekspansi parameter pada array parameter posisi
$@
:"${@:(-1)}"
memperluas ke parameter terakhir (secara harfiah pertama membentuk akhir dan seterusnya)"${#@}"
memperluas ke jumlah parameter posisi"${@:1:${#@}-1}"
memperluas ke daftar semua parameter dari pertama ke berikutnya ke terakhir (secara harfiah jumlah parameter kurang satu).sumber