Saya mencari cara untuk menjalankan SSH (khususnya OpenSSH, tetapi tidak harus) dan mencatat semua perintah yang saya jalankan terhadap remote, ke file secara lokal.
Menjalankan setiap perintah sebagai perintah ssh independen memang akan mencatat setiap perintah ke riwayat lokal saya, tetapi umumnya tidak diinginkan untuk menjalankan mis.
ssh notroot@something.example.com -- foo -a --bar baz
untuk setiap perintah.
Saya lebih suka ssh ke server dengan cara biasa, baik melalui ssh sendiri, atau melalui perintah wrapper, seperti 'ssh-logging'.
Saya membayangkan input perintah program yang disimpan melalui ssh ke dalam file di mesin klien lokal sebanding dengan bagaimana shell melakukannya, misalnya ~ / .ssh_history tampaknya seperti default yang baik, mungkin diijinkan per kombinasi pengguna + host, tapi saya tidak sangat peduli di mana ia menyimpan saat ini.
Singkatnya, saya ingin sesuatu seperti yang berikut terjadi:
~ $ ssh user@host.example.com
[user@host ~]$ foo --bar
[user@host ~]$ exit
~ $ cat .ssh_history_user@host
foo --bar
exit
~ $
Apakah hal semacam itu ada, baik sebagai konfigurasi klien OpenSSH yang tidak jelas, atau sebagai bagian dari klien open-source / libre ssh lainnya, atau sebagai program pembungkus tipis yang dapat dengan mudah menempatkan diri pada input stdin pengguna, dan mengirim secara transparan mereka ke stdin dari program yang sedang berjalan saat login mereka? (Saya dengar SecureCRT memiliki fitur pencatatan yang mungkin kira-kira seperti ini, tetapi setidaknya dalam kehidupan pribadi saya, saya tidak memiliki keinginan untuk menggunakan alat-alat non-FLOSS).
ssh user@host | tee ssh.log?