67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
# server-toolset
|
||
|
||
## ssh-notify
|
||
|
||
Get notified through emails or Telegram messages when a user logs in to your server. Uses PAM modules, and a single Bash script!
|
||
|
||
### Why use this?
|
||
|
||
- It's plug-and-play: use emails with []() or Telegram, or both.
|
||
- Distro agnostic: uses PAM and Bash with the least amount of surface.
|
||
|
||
## Installation
|
||
|
||
Run `install.sh` to automate the steps below.
|
||
|
||
### 1. The script
|
||
|
||
```sh
|
||
cp ssh-notify.sh /usr/local/sbin/ssh-notify.sh
|
||
chmod 700 /usr/local/sbin/ssh-notify.sh
|
||
```
|
||
|
||
### 2. Configuration
|
||
|
||
```sh
|
||
mkdir /etc/ssh-notify
|
||
cp example.conf /etc/ssh-notify/config.conf
|
||
vim /etc/ssh-notify/config.conf # edit in place
|
||
chmod 600 /etc/ssh-notify/config.conf
|
||
```
|
||
|
||
### 3. PAM configuration
|
||
|
||
```sh
|
||
vim /etc/pam.d/sshd # edit in place and add the following lines:
|
||
```
|
||
|
||
```conf
|
||
# Send notification upon successful login (added by ssh-notify install.sh)
|
||
session optional pam_exec.so seteuid /usr/local/sbin/ssh-notify.sh
|
||
```
|
||
|
||
### 4. Logging
|
||
|
||
Optional, but suggested:
|
||
|
||
```sh
|
||
cp ssh-notify.logrotate /etc/logrotate.d/ssh-notify
|
||
```
|
||
|
||
The `ssh-notify.logrotate` tells `logrotate` to rotate `/var/log/ssh‑notify.log` once a day, keep seven old copies, compress older archives (but delay compressing the newest one), skip rotation if the file is empty or missing, and after each rotation immediately create a fresh log with permissions `600` owned by `root:root`; the `sharedscripts` directive ensures any `postrotate` commands (none are defined here) would only run once even if multiple files were listed.
|
||
|
||
## Credits
|
||
|
||
Feel free to contact me for collaboration on anything!
|
||
|
||
Yiğid BALABAN, <[fyb@fybx.dev][llmail]>
|
||
|
||
[My Website][llwebsite] • [X][llx] • [LinkedIn][lllinkedin]
|
||
|
||
2024
|
||
|
||
[llmail]: mailto:fyb@fybx.dev
|
||
[llwebsite]: https://fybx.dev
|
||
[llx]: https://x.com/fybalaban
|
||
[lllinkedin]: https://linkedin.com/in/fybx
|