Usando o sendmail via SSH

4

Eu tenho um acesso SSH ao servidor com o trabalho sendmail fornecido pelo meu hoster. Eu quero configurar o meu local sendmail para usar o servidor remoto como um relé. Como eu posso fazer isso? É posiible de todo?

Nota: Eu posso escrever script para executar algo como ssh user@host sendmail ... , mas parece que há uma solução melhor.

    
por Sergey 04.10.2011 / 20:06

1 resposta

3

Preparar o SSH

Localmente, crie uma nova chave SSH sem senha. Nestes exemplos, ele estará localizado em /etc/mail/ssh-sendmail-key e pertencerá ao usuário MAILUSER . Altere MAILUSER para qualquer conta do Unix que seu sistema local use: postfix , sendmail , mail , ... O uso de root ou nobody não é recomendado.

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

Anexe o conteúdo de /etc/mail/ssh-sendmail-key.pub ao arquivo authorized_keys do servidor:

ssh-rsa AAAA....

Postfix

Crie um ssh transport em 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

Em main.cf , adicione:

default_transport = ssh

Exim

Roteador:

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

Transporte:

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