溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中怎么設置SSH登錄和電子郵件提醒

發布時間:2022-01-27 14:22:46 來源:億速云 閱讀:215 作者:iii 欄目:開發技術
# Linux中怎么設置SSH登錄和電子郵件提醒

## 前言

在Linux服務器管理中,監控SSH登錄活動是安全運維的重要環節。通過配置SSH登錄通知和郵件提醒,管理員可以實時掌握服務器的登錄情況,及時發現異常訪問。本文將詳細介紹如何通過`sshd`日志監控、`pam_exec`模塊和郵件工具實現這一功能。

---

## 一、配置SSH登錄日志監控

### 1. 確保SSH日志記錄正常
大多數Linux系統使用`rsyslog`或`syslog-ng`管理日志,SSH登錄記錄通常保存在:

```bash
/var/log/auth.log    # Debian/Ubuntu
/var/log/secure      # CentOS/RHEL

檢查SSH日志是否正常記錄:

sudo grep sshd /var/log/auth.log

2. 創建監控腳本

/usr/local/bin/下創建監控腳本ssh-login-alert.sh

#!/bin/bash

# 獲取當前登錄信息
login_info=$(echo $PAM_USER logged in to $PAM_RHOST at $(date))

# 記錄到本地日志
echo "$login_info" >> /var/log/ssh-login.log

# 發送郵件通知
echo "$login_info" | mail -s "SSH Login Alert on $(hostname)" admin@example.com

賦予執行權限:

sudo chmod +x /usr/local/bin/ssh-login-alert.sh

二、通過PAM模塊觸發通知

1. 修改PAM配置

編輯/etc/pam.d/sshd文件,在文件末尾添加:

session optional pam_exec.so /usr/local/bin/ssh-login-alert.sh

2. 測試配置

重啟SSH服務后測試登錄:

sudo systemctl restart sshd

驗證日志記錄:

tail -f /var/log/ssh-login.log

三、配置郵件發送功能

1. 安裝郵件工具

對于Debian/Ubuntu:

sudo apt install mailutils postfix

對于CentOS/RHEL:

sudo yum install mailx postfix

2. 配置郵件服務器

編輯/etc/postfix/main.cf

relayhost = [smtp.example.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

創建認證文件/etc/postfix/sasl_passwd

[smtp.example.com]:587 username:password

生成數據庫文件并重啟服務:

sudo postmap /etc/postfix/sasl_passwd
sudo systemctl restart postfix

四、高級配置方案

1. 使用Swatch實時監控

安裝Swatch工具:

sudo apt install swatch  # Debian/Ubuntu
sudo yum install swatch  # CentOS/RHEL

創建監控配置/etc/swatch/ssh-login.swatch

watchfor /sshd.*session opened/
    exec "/usr/local/bin/ssh-login-alert.sh"

啟動監控:

swatch -c /etc/swatch/ssh-login.swatch -t /var/log/auth.log &

2. 使用Fail2Ban增強安全

安裝Fail2Ban:

sudo apt install fail2ban  # Debian/Ubuntu
sudo yum install fail2ban  # CentOS/RHEL

創建自定義規則/etc/fail2ban/jail.local

[ssh-login]
enabled = true
filter = sshd
action = %(action_mwl)s
logpath = /var/log/auth.log
maxretry = 3

五、驗證與測試

  1. 從另一臺機器SSH登錄測試
  2. 檢查日志文件:
    
    cat /var/log/ssh-login.log
    
  3. 查看收件箱是否收到提醒郵件

常見問題解決

  1. 郵件發送失敗

    • 檢查Postfix日志:/var/log/mail.log
    • 測試郵件發送:echo "Test" | mail -s "Test" your@email.com
  2. PAM模塊不生效

    • 確認/etc/pam.d/sshd修改正確
    • 檢查腳本權限和路徑
  3. 日志文件權限問題

    sudo touch /var/log/ssh-login.log
    sudo chmod 666 /var/log/ssh-login.log
    

結語

通過本文介紹的方法,您可以實現: - 實時監控SSH登錄活動 - 自動發送郵件告警 - 可選集成Fail2Ban增強防護

建議定期審查日志文件,并根據實際需求調整監控策略。對于生產環境,建議使用專業的監控系統如Zabbix或Prometheus進行更全面的監控。 “`

注:實際部署時請替換示例中的郵箱地址、SMTP服務器信息等參數。文章字數約1050字,可根據需要增減細節內容。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女