Apakah ada cara untuk menjalankan skrip / perintah setiap kali pengguna terhubung menggunakan ssh? Apakah bisa dikonfigurasi secara global (mis. Jalankan skrip ketika ada pengguna yang masuk)?
Saya menemukan pertanyaan ini pada Identica, tetapi belum ada jawaban dan ingin mengetahuinya.
Untuk tujuan pengujian, modul disertakan sebagai optional, sehingga Anda masih dapat masuk jika gagal. Setelah Anda memastikan itu berfungsi, Anda dapat mengubahnya optionalmenjadi required. Maka login tidak akan mungkin dilakukan kecuali eksekusi skrip hook Anda berhasil.
Catatan: Seperti biasa ketika Anda mengubah konfigurasi login, biarkan shell cadangan terbuka di latar belakang dan uji login dari terminal baru.
Terima kasih, itu terlihat menjanjikan. Bisakah Anda menguraikan lebih banyak? Saya tidak terbiasa dengan ini.
phunehehe
Saya kira saya harus menambahkan session include pam_exec.so seteuid /path/to/scriptke file /etc/pam.d/system-remote-login. Apakah itu benar?
phunehehe
Entah system-remote-loginatau sshd, tergantung pada bagaimana pengguna masuk.
Glen Solsberry
Luar biasa! Alangkah baiknya jika Anda mengedit jawaban untuk memasukkan informasi (Anda tahu, untuk orang lain yang mencarinya).
phunehehe
Catatan untuk orang googling, Anda juga dapat menempatkan baris ini auth optional pam_exec.so /path/to/my/hook.shdi /etc/pam.d/common-authuntuk memiliki PAM memberitahukan APAPUN peristiwa otentikasi yang terjadi. Program ini juga dapat mengirimi Anda pemberitahuan push: github.com/benjojo/PushAlotAuth
Nick Sweeting
6
ada cara lain yang hanya memengaruhi pengguna menggunakan ssh bukan yang lokal (yang mungkin lebih baik dalam situasi darurat)
lihat cuplikan dari halaman ssh man di bawah ini.
dalam hal ini pengguna biasanya dapat memodifikasi file itu sendiri (sedikit seperti .bashrc)
~/.ssh/rc
Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
dan ini bersifat global dan tidak dapat dimodifikasi oleh pengguna normal
/etc/sshrc
Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
session include pam_exec.so seteuid /path/to/script
ke file/etc/pam.d/system-remote-login
. Apakah itu benar?system-remote-login
atausshd
, tergantung pada bagaimana pengguna masuk.auth optional pam_exec.so /path/to/my/hook.sh
di/etc/pam.d/common-auth
untuk memiliki PAM memberitahukan APAPUN peristiwa otentikasi yang terjadi. Program ini juga dapat mengirimi Anda pemberitahuan push: github.com/benjojo/PushAlotAuthada cara lain yang hanya memengaruhi pengguna menggunakan ssh bukan yang lokal (yang mungkin lebih baik dalam situasi darurat)
lihat cuplikan dari halaman ssh man di bawah ini.
dalam hal ini pengguna biasanya dapat memodifikasi file itu sendiri (sedikit seperti .bashrc)
dan ini bersifat global dan tidak dapat dimodifikasi oleh pengguna normal
sumber
/etc/ssh/sshd_config
(lihatman sshd_config
untuk detail)