经验分享ssh登陆linux服务器。

在Linux服务器上设置SSH登录后发送email提醒,可以通过以下步骤实现:

1、安装邮件发送工具

经验分享ssh登陆linux服务器。

首先需要在服务器上安装一个邮件发送工具,这里以sendmail为例,在Debian/Ubuntu系统上,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install sendmail

在CentOS/RHEL系统上,可以使用以下命令安装:

sudo yum install sendmail

2、配置sendmail

安装完成后,需要对sendmail进行配置,配置文件位于/etc/mail/sendmail.mc,使用文本编辑器打开配置文件,

sudo nano /etc/mail/sendmail.mc

找到以下行并进行修改:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

修改为:

经验分享ssh登陆linux服务器。

DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl

将以下行:

dnl  Uncomment the next line to generate "delayed mail" warnings
define(confCON_EXPENSIVE', True')dnl

取消注释:

define(confCON_EXPENSIVE', True')dnl

保存并退出,接下来,使用m4编译器生成新的配置文件:

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

3、创建邮件模板

创建一个名为auth.log的文件,用于存放登录日志,文件路径可以自定义,/var/log/auth.log,使用以下命令创建文件:

sudo touch /var/log/auth.log

创建一个名为login_alert.mc的邮件模板文件,文件路径可以自定义,/etc/mail/login_alert.mc,使用以下命令创建文件:

经验分享ssh登陆linux服务器。

sudo touch /etc/mail/login_alert.mc

编辑login_alert.mc文件,添加以下内容:

define(confLOGIN_MSG', $j Sending login alert for $g')dnl
define(SMTP_MAILER_ARGS', -t')dnl
FEATURE(delay_warnings)dnl
LOCAL_RULES(`$llocal_recipients')dnl
include(`smtp-generic')dnl

保存并退出,接下来,使用m4编译器生成新的邮件模板文件:

sudo m4 /etc/mail/login_alert.mc > /etc/mail/login_alert.cf

4、配置PAM(可选)

如果希望在每次用户登录时自动发送邮件提醒,可以配置PAM(可插入认证模块),安装pam_ssmtp模块:

Debian/Ubuntu系统:

sudo apt-get install libpam-ssmtp python-smtplib sasl2-bin spamassassin spamcurl unzip vim gettext-base autoconf automake libtool bison gcc make openssl libsasl2-dev libsasl2-modules-dbg libsasl2-modules:amd64 libsasl2-modules:i386 zlib1g:amd64 zlib1g:i386 libdb-dev libsqlite3-dev libmysqlclient-dev libgssglue1:amd64 libgssglue-dev:amd64 libldap2-dev libldap-common:amd64 libpcre3-dev libpcre3:amd64 libcurl4-openssl-dev libcurl4:amd64 curl:amd64 curl:i386 mailutils:amd64 mailutils:i386 mailcap:any file:any build-essential wget git rsync vim patch perl tar unzip bzip2 make automake autoconf gcc g++ binutils bison flex byacc texinfo gzip bc kmod subversion coreutils screen emacs25 ncurses-base ncurses-bin pax gperf psmisc sysvinit-utils debianutils util-linux procps cron ntpdate xz-utils zlib1g zlib1g-dev openssl openssl-blacklist ca-certificates openssl-policies tcpdump socat netcat dnsutils iproute2 iputils-ping traceroute ltrace strace sysstat iftop iotop htop screenfetch sysfsutils sysctl netcfg bind-utils avahi-daemon libnss3:amd64 libnspr4:amd64 libpam0g:amd64 libpam-modules:amd64 libpam-modules:i386 libpam-runtime:amd64 libpam0g:i386 libpam-dev:amd64 libpam-dev:i386 libsasl2-modules:amd64 libsasl2-modules:i386 libsasl2-modules-dbg:amd64 libsasl2-modules-dbg:i386 libsasl2:amd64 libsasl2:i386' && 
    wget https://github.com/amavis/amavisd/releases/download/v${AMAVISD_VERSION}/amavisd-${AMAVISD_VERSION}.tar.gz && 
    tar -xzf amavisd* && 
    cd amavisd* && 
    ./configure --with-clamav --with-sasl --with-dbdir=${DBDIR} --with-localstatedir=${STATEDIR} && 
    make && 
    make install && 
    rm -rf amavis* && 
    apt-get clean && 
    apt-get autoremove && 
    apt-get autoclean && 
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && 
    echo "deb http://www.debian.org/debian $(lsb_release -sc) main" | tee /etc/apt/sources.list && 
    echo "deb http://www.debian.org/debian $(lsb_release -sc)-updates main" | tee -a /etc/apt/sources.list && 
    echo "deb http://security.debian.org $(lsb_release -sc)-security main" | tee -a /etc/apt/sources.list && 
    echo "deb http://www.debian.org/debian $(lsb_release -sc) universe" | tee -a /etc/apt/sources.list && 
    echo "deb http://www.debian.org/debian $(lsb_release -sc) multiverse" | tee -a /etc/apt/sources.list && 
    echo "deb http://www.debian.org/debian $(lsb_release -sc)-backports main" | tee -a /etc/apt/sources.list && 
    apt update && 
    apt upgrade" && 
    apt install pam_ssmtp spamassassin spamcurl unzip vim gettext-base autoconf automake libtool bison gcc make openssl libsasl2-dev libsasl2-modules-dbg libsasl2-modules:amd64 libsasl2-modules:i386 zlib1g:amd64 zlib1g:i386 libdb-dev libsqlite3-dev libmysqlclient-dev libgssglue1:amd64 libgssglue-dev:amd64 libldap2-dev libldap-common:amd64 libpcre3-dev libpcre3:amd64 libcurl4-openssl-dev libcurl4:amd64 curl:amd64 curl:i386 mailutils:amd64 mailutils:i386 mailcap:any file:any build-essential wget git rsync vim patch perl tar unzip bzip2 make automake autoconf gcc g++ binutils bison flex byacc texinfo gzip bc kmod subversion coreutils screen emacs25 ncurses-base ncurses-bin pax gperf psmisc sysvinit-utils debianutils util-linux procp

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/472634.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
IT工程IT工程订阅用户
上一篇 2024年7月3日 15:49
下一篇 2024年7月3日 15:59

相关推荐

  • 我来说说如何理解linux的文件系统目录结构设计。

    Linux的文件系统目录结构是Linux操作系统中用于组织和管理文件的一种层次化结构,它以一种清晰、有序的方式存储和访问文件,使得用户可以方便地找到所需的文件和目录,本文将详细介绍Linux的文件系统目录结构,帮助…

    2024年7月8日
    01
  • linux中怎么用Chezmoi取回你的点文件。

    Chezmoi是一个强大的配置文件管理工具,它可以帮助您在不同的计算机之间同步和管理您的点文件(dotfiles),这些点文件包括诸如.bashrc、.vimrc和.gitconfig等配置文件。 ,,以下是使用Chezmoi取回你的点文件的步骤:…

    2024年7月24日
    03
  • 小编教你linux日志文件太大怎么办。

    日志文件过大的原因 日志文件过大的问题,通常是由于系统或应用程序在运行过程中产生的日志信息过多,导致日志文件占用了大量的磁盘空间,日志文件过大可能会影响系统的性能和稳定性,因此需要采取相应的措施来解决…

    2024年7月12日
    02
  • 小编分享linux tee命令详解。

    Linux tee命令用于从标准输入读取数据,并将其写入到标准输出和一个或多个文件中。tee命令通常与其他命令一起通过管道使用。 Linux中的tee命令怎么用 在Linux系统中,tee命令是一个非常实用的工具,它可以将数据从…

    2024年7月19日
    01
  • 小编教你linux显示隐藏文件命令。

    在Linux系统中,显示隐藏文件是一个非常实用的功能,隐藏文件通常以点(.)开头,它们可能包含一些敏感信息或者系统设置,有时候,你可能想要查看这些隐藏文件,以便了解系统的运行情况或者查找一些特定的文件,本文…

    2024年6月18日
    02
  • 教你debian镜像下载。

    【debian镜像】是一个基于Debian的开源操作系统镜像,它包含了大量预装软件和工具,可以帮助用户快速搭建一个稳定、安全的操作系统环境,Debian是一个非常受欢迎的Linux发行版,因其稳定性、安全性和易用性而受到广…

    2024年6月16日
    02
  • 关于manjaro linux是什么。

    Manjaro Linux 0.8.13是一款基于Arch Linux的开源Linux发行版,它继承了Arch Linux的优点,同时也有自己的特色,以下是Manjaro Linux 0.8.13的一些主要优点: 1、用户友好的安装过程 Manjaro Linux 0.8.13的安装过…

    2024年7月8日
    02
  • 聊聊linux中sudo命令的使用方式和作用。

    在Linux系统中,sudo命令是一个非常重要的工具,它允许系统管理员让普通用户执行一些或者全部的root命令,通过sudo,我们可以让用户以其他用户的权限来运行程序,这为系统管理提供了极大的便利性。 1. sudo命令的基…

    2024年7月4日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息