Ser*_*gey 5 ssh sendmail relay
我可以通过 SSH 访问sendmail我的主机提供的服务器。我想将我的本地配置sendmail为使用远程服务器作为中继。我怎样才能做到这一点?有可能吗?
注意:我可以编写脚本来运行类似的东西,ssh user@host sendmail ...但在我看来有更好的解决方案。
在本地创建一个新的无密码 SSH 密钥。在这些示例中,它将位于用户处/etc/mail/ssh-sendmail-key并由用户拥有MAILUSER。将 MAILUSER 更改为本地系统使用的任何 Unix 帐户:postfix, sendmail, mail, ...不建议使用root或。nobody
# ssh-keygen -f /etc/mail/ssh-sendmail-key -N ""
# chown MAILUSER /etc/mail/ssh-sendmail-key{,.pub}
Run Code Online (Sandbox Code Playgroud)
将内容附加/etc/mail/ssh-sendmail-key.pub到服务器的authorized_keys文件中:
ssh-rsa AAAA....
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
在 中main.cf,添加:
default_transport = ssh
Run Code Online (Sandbox Code Playgroud)
路由器:
ssh:
driver = manualroute
domains = ! +local_domains
transport = ssh
route_list = * foo
Run Code Online (Sandbox Code Playgroud)
运输:
ssh:
driver = pipe
user = MAILUSER
command = /usr/bin/ssh -i /etc/mail/ssh-sendmail-key myhostserver /usr/sbin/sendmail -i $RECIPIENT
Run Code Online (Sandbox Code Playgroud)