通过 SSH 使用 sendmail

通过 SSH 使用 sendmail

我可以通过主机提供商提供的 SSH 访问服务器sendmail。我想配置本地sendmail服务器以使用远程服务器作为中继。我该怎么做?有可能吗?

注意:我可以编写脚本来运行类似的程序ssh user@host sendmail ...,但在我看来似乎有更好的解决方案。

答案1

准备 SSH

在本地创建一个没有密码的新 SSH 密钥。在这些示例中,该密钥将位于用户处/etc/mail/ssh-sendmail-key并归用户所有MAILUSER将 MAILUSER 更改为您的本地系统使用的任何 Unix 帐户:,,,postfix...不建议使用或。sendmailmailrootnobody

# ssh-keygen -f /etc/mail/ssh-sendmail-key -N ""
# chown MAILUSER /etc/mail/ssh-sendmail-key{,.pub}

将内容附加/etc/mail/ssh-sendmail-key.pub到服务器的授权密钥文件:

ssh-rsa AAAA....

后缀

ssh在以下位置创建传输master.cf

ssh    unix    -       n       n       -       -       pipe
    user=MAILUSER argv=/usr/bin/ssh -i /etc/mail/ssh-sendmail-key myhostserver /usr/sbin/sendmail -i $recipient

在 中main.cf添加:

default_transport = ssh

进出口

路由器:

ssh:
    driver = manualroute
    domains = ! +local_domains
    transport = ssh
    route_list = * foo

运输:

ssh:
    driver = pipe
    user = MAILUSER
    command = /usr/bin/ssh -i /etc/mail/ssh-sendmail-key myhostserver /usr/sbin/sendmail -i $RECIPIENT

相关内容