Berasal dari administrasi Windows, saya ingin menggali lebih dalam di Linux (Debian). Salah satu pertanyaan saya yang membara, saya tidak bisa menjawab pencarian di web (tidak menemukannya) adalah: bagaimana saya bisa mencapai apa yang disebut remoting "satu-ke-banyak" seperti di PowerShell for Windows?
Untuk memecahnya ke dasar saya akan mengatakan:
Pandangan saya tentang Linux:
- Saya dapat ssh ke server dan ketik perintah saya
- Saya mendapatkan hasilnya. Untuk lingkungan 10 server saya harus menulis skrip (perl / python?) Mengirimkan perintah untuk masing-masing?
Pengalaman saya dari Windows:
Saya mengetik perintah saya dan dengan "memanggil-perintah" saya bisa "mengirim" ini ke sekelompok server (mungkin dari textfile) untuk mengeksekusi secara bersamaan dan mendapatkan hasilnya kembali (sebagai objek untuk pekerjaan lebih lanjut).
Saya bahkan dapat membuat beberapa sesi, koneksi diadakan di latar belakang, dan secara selektif mengirim perintah ke sesi ini, dan masuk dan keluar jarak jauh seperti yang saya butuhkan.
(Saya mendengar tentang koki, boneka, dll. Apakah ini sesuatu seperti itu?)
Update 2019:
Setelah mencoba banyak - saya sarankan Rex (lihat komentar ini di bawah ) - setup mudah (efektif itu hanya membutuhkan ssh, tidak ada yang lain) dan gunakan (jika Anda tahu sedikit perl itu bahkan lebih baik, tapi itu opsional)
Dengan Rex (ify ) Anda dapat melakukan perintah adhoc dan memajukannya ke manajemen konfigurasi nyata (... artinya: ini adalah CM di tempat pertama, tetapi juga bagus untuk tugas-tugas adhoc) Situs web jahitannya sudah ketinggalan zaman, tetapi saat ini (per 01/2019) itu dalam pengembangan aktif dan IRC-Channel juga aktif.
Dengan Windows openssh baru ada lebih banyak kemungkinan
Anda dapat mencoba:
rex -u user -p password -H 192.168.1.3 -e 'say run "hostname"'
:setw synchronize-panes on
( unix.stackexchange.com/a/124800/161003 )Jawaban:
Ringkasan
clusterssh
Untuk mengirim perintah jarak jauh ke beberapa server, untuk pemula, saya akan merekomendasikan clusterssh
Untuk menginstal
clusterssh
di Debian:Tutorial clusterssh lainnya :
Mungkin
Adapun kerangka kerja jarak jauh untuk administrasi beberapa sistem, Ansible adalah alternatif yang sangat menarik untuk Wayang. Itu lebih ramping, dan tidak perlu agen jarak jauh yang berdedikasi karena bekerja lebih dari SSH (itu juga telah dibeli oleh RedHat)
Playbook lebih rumit daripada opsi baris perintah.
Namun, untuk mulai menggunakan Ansible Anda memerlukan instalasi sederhana dan untuk mengatur file teks daftar klien.
Setelah itu, untuk menjalankan perintah di semua server, sesederhana melakukan:
Outputnya juga diformat dengan sangat baik dan dipisahkan per aturan / server, dan saat menjalankannya di latar belakang dapat diarahkan ke file dan berkonsultasi nanti.
Anda bisa mulai dengan aturan sederhana, dan Penggunaan yang mungkin akan semakin menarik saat Anda tumbuh di Linux, dan infrastruktur Anda menjadi lebih besar. Karena itu ia akan melakukan lebih dari PowerShell.
Sebagai contoh, Playbook yang sangat sederhana untuk meningkatkan server Linux yang saya tulis:
Ini juga memiliki banyak modul yang didefinisikan yang memungkinkan Anda dengan mudah menulis kebijakan yang komprehensif.
Modul Indeks - Dokumentasi yang Mungkin
Ia juga telah mendapatkan jaringan pusat / sosial "repositori resmi yang menarik untuk mencari kebijakan yang sudah dimungkinkan oleh komunitas. Galaksi yang memungkinkan
Ansible juga banyak digunakan, dan Anda akan menemukan banyak proyek di github, seperti ini dari saya sendiri untuk pengaturan FreeRadius .
Sementara Ansible adalah kerangka kerja open source gratis, tetapi juga memiliki antarmuka panel web berbayar, Ansible Tower meskipun lisensi agak mahal.
Saat ini, setelah RedHat membelinya, tower juga memiliki versi open source yang dikenal sebagai AWX .
Sebagai bonus, Ansible juga mampu mengelola server Windows, meskipun saya belum pernah menggunakannya untuk itu.
Ia juga mampu mengatur peralatan jaringan (router, switch, dan firewall), yang menjadikannya solusi yang sangat menarik sebagai solusi kunci otomatis otomatisasi.
Cara menginstal Ansible
Rundeck
Sekali lagi, untuk kerangka kerja jarak jauh lebih mudah digunakan, tetapi tidak begitu kuat sebagai Ansible, saya merekomendasikan Rundeck .
Ini adalah antarmuka grafis multi-pengguna / login yang sangat kuat di mana Anda dapat mengotomatiskan banyak tugas sehari-hari Anda yang umum, dan bahkan memberikan pandangan yang dipermudah kepada pengurus atau orang-orang helpdesk.
Saat menjalankan perintah, itu juga memberi Anda windows dengan output dipecah oleh server / tugas.
Itu dapat menjalankan banyak pekerjaan di latar belakang dengan mulus, dan memungkinkan Anda untuk melihat laporan dan hasilnya nanti.
Cara menginstal RunDeck
Harap perhatikan ada orang yang menjalankan Ansible + RunDeck sebagai antarmuka web; tidak semua kasus sesuai untuk itu.
Tak perlu dikatakan lagi bahwa menggunakan Ansible dan / atau RunDeck dapat ditafsirkan sebagai bentuk atau bagian dari dokumentasi infrastruktur, dan seiring waktu memungkinkan untuk mereplikasi dan meningkatkan tindakan / resep / Playbook.
Terakhir, berbicara tentang server perintah pusat, saya akan membuat satu hanya untuk tugas itu. Sebenarnya istilah teknisnya adalah kotak lompat. 'Lompat kotak' meningkatkan keamanan, jika Anda mengaturnya dengan benar .
sumber
Jika Anda ingin melakukannya secara interaktif, Anda dapat menggunakan
terminator
yang memungkinkan untuk menyiarkan perintah ke beberapa terminal.Lihat: Bagaimana saya menjalankan perintah linux yang sama di lebih dari satu tab / shell secara bersamaan?
sumber
tmux
dan Crtl + b:set sync on
Anda juga dapat menggunakan
pssh
(atauparallel-ssh
), yang merupakan klien SSH yang terhubung ke daftar host dan mengeksekusi perintah pada semua host secara paralel:sumber
Mungkin Anda dapat mencapai tujuan Anda dengan fungsi zsh (bash) sederhana. Katakanlah Anda memiliki server l61 l62 l63 dan Anda sering harus menjalankan perintah pada mereka:
Jadi, di baris perintah:
sumber
Jika Anda menggunakan KDE, inilah metode lain.
- Buka jendela Konsole.
Untuk setiap server yang ingin Anda komunikasikan:
- buka tab
- buat koneksi ssh dengan server
Di menu "Edit", pilih "salin input" ke "semua tab"
Setiap perintah yang Anda masukkan di tab itu akan disalin ke semua server.
Anda dapat beralih dari tab ke tab untuk melihat hasil yang berbeda.
Catatan: label menu saya (dalam tanda kutip) mungkin salah karena saya tidak menggunakan KDE versi bahasa Inggris
sumber
GNU paralel
Ini memungkinkan satu-liner sederhana dengan pengaturan tersimpan, sehingga Anda dapat membuat profil, "prod ', yang akan berisi daftar server dan switch umum. Kemudian tambahkan saja perintah yang Anda inginkan, dan Anda siap. Ini juga dapat menyalin file ke server dan secara otomatis menghapusnya pada akhirnya, dan itu cukup nyaman untuk skrip yang lebih besar. Juga sangat cepat.
Satu-satunya masalah adalah bahwa ia memiliki begitu banyak pilihan;) Tetapi dokumentasinya juga mencakup banyak contoh, jadi Anda bisa melihatnya pada awalnya.
sumber
Saya ingin menyebutkan "Rex" di sini juga: https://www.rexify.org/
Ini adalah alat yang luar biasa yang menggunakan perl + ssh (otentikasi pengguna / kata sandi atau kunci) dan karena perl diinstal pada setiap sistem linux (?!), Saya pikir itu tampaknya lebih alami untuk digunakan (memiliki beberapa kesamaan dengan Ansible & Co.)
Anda dapat menjalankan perintah adhoc pada beberapa server sekaligus (server1, server2, server ... - setelah mengatur otentikasi, atau sebagai alternatif gunakan parameter -p / -u dan -s / -S untuk eksekusi sudo dari perintah):
atau buat file tempat Anda menentukan "tugas" yang berbeda dan panggil dari sana
Itu dapat diinstal melalui repositori atau bahkan dengan perls cpan (atau
cpanm Rex
) dan pengaturan awalnya mudah, lihat:- https://www.rexify.org/ atau
- https://www.rexify.org/docs/guides/ start_using__r__ex.html dan
- http://www.admin-magazine.com/Archive/2014/21/First-steps-in-IT-automation-by-Rex
sumber