Использование X11 по SSH от Mac

В то время как я не попытался передать через поставщика, использующего порт представления (587), это должно быть возможно. Чтобы позволить Постфиксу передать, необходимо будет установить файл с аутентифицируемыми учетными данными, чтобы использовать и сделать некоторые модификации к Вашему /etc/postfix/main.cf файл конфигурации.

Первыми являются учетные данные аутентификации. Для этого я просто использую /etc/postfix/sasl_passwd который я добавляю соответствующую строку с помощью шаблона:

smtp.provider.com    smtp_user:smtp_passwd

Вы захотите быть уверенными, что этот файл защищен так, я рекомендую root:root владение и 0600 полномочия быть установленным на нем. Вы затем захотите работать, следующее для создания хеша отобразило версию как корень.

postmap hash:/etc/postfix/sasl_passwd

С этим из пути обращают Ваше внимание, идут /etc/postfix/main.cf уже можно найти некоторые значения набором, таким образом, необходимо будет изменить их соответственно, но важные детали следующие:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_security_level = may

Они позволят Постфиксу смочь использовать sasl_passwd файл для аутентификации при отправке почты. Необходимо будет затем сказать Постфиксу, что он должен использовать поставщика для отправки почты путем добавления конфигурации

relayhost = smtp.provider.com:port

Постфиксом по умолчанию принимает порт 25, если Вы не указываете, и это работало на меня в прошлом. С Вашей требуемой установкой необходимо будет указать 587 как порт. После этих слов я не уверен, необходимо ли будет изменить sasl_passwd запись, чтобы быть smtp.provider.com:587 вместо просто smtp.provider.com поскольку я не попытался делать это по порту не по умолчанию прежде, таким образом, необходимо будет попробовать его за себя.

Одни только эти шаги конфигурации обрабатывают передачу почты на нескольких серверах, которые я поддерживаю через центральный почтовый сервер.

Обновленный для включения полностью рабочего примера

На самом деле оказывается, что я настроил свою Ubuntu (находящийся в Debian) ноутбук для использования порта 587 на моем почтовом поставщике (не-Gmail) как мой исходящий порт блоков поставщика DSL 25 трафиков. Я обновил для использования одной из моих учетных записей Gmail для отсылки почты вместо этого. Единственное изменение я должен был сделать

Я затеняю частные данные, но иначе вставляю как есть рабочую конфигурацию для Постфикса.

Сначала мы имеем /etc/postfix/main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = solitare, localhost.localdomain, , localhost
relayhost = smtp.gmail.com:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =

Затем мы имеем /etc/postfix/sasl_passwd:

smtp.gmail.com:587  myusername@gmail.com:mypassword

Я затем выполнил следующую сессию SMTP:

jbouse@solitare:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to solitare.
Escape character is '^]'.
220 example.com ESMTP Postfix (Ubuntu)
helo localhost
250 example.com
mail from: jbouse@example.com
250 2.1.0 Ok
rcpt to: myotherusername@gmail.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
To: myotherusername@gmail.com
From: jbouse@example.com
Subject: Testing Postfix smarthost via Gmail
this is just a test
.
250 2.0.0 Ok: queued as 6269B280191
quit
221 2.0.0 Bye
Connection closed by foreign host.

Затем я вхожу в мой myotherusername Учетная запись Gmail и прочитала сообщение:

Return-Path: <myotherusername@gmail.com>
Received: from example.com (mydslproviderhostname.net [x.x.x.229])
        by mx.google.com with ESMTPS id 6sm401663ywd.11.2010.03.04.19.19.58
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Thu, 04 Mar 2010 19:19:58 -0800 (PST)
Sender: "Jeremy Bouse" <myotherusername@gmail.com>
Received: from localhost (solitare [127.0.0.1])
    by example.com (Postfix) with SMTP id 6269B280191
    for <myotherusername@gmail.com>; Thu,  4 Mar 2010 22:17:39 -0500 (EST)
To: myotherusername@gmail.com
From: jbouse@example.com
Subject: Testing Postfix smarthost via Gmail
Message-Id: <20100305031745.6269B280191@example.com>
Date: Thu,  4 Mar 2010 22:17:39 -0500 (EST)

this is just a test

Теперь показывавший мои 13 лет системным администратором не потрачены впустую, у меня есть электронная почта, отправляющая от моего ноутбука до Gmail, не имея никакой потребности генерировать самоподписанный x.509 сертификат, как другие сказали бы Вам. Ключевое дополнение к /etc/postfix/main.cf установка smtp_tls_security_level до мая, чтобы сказать Постфиксу, что это должно хорошо дать команду STARTTLS при соединении с другим MTA, если это поддерживает TLS. Если Вы забываете, что smtp_tls_security_level, устанавливающий Вас, может видеть запись в Вашем /var/log/mail.log вроде:

Mar  4 22:10:58 solitare postfix/smtp[19873]: 20E07280191: to=<myotherusername@gmail.com>, relay=smtp.gmail.com[74.125.47.109]:587, delay=38, delays=38/0.03/0.08/0.01, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.47.109] said: 530 5.7.0 Must issue a STARTTLS command first. 20sm399188ywh.48 (in reply to MAIL FROM command))

Однако с ним набор правильно необходимо видеть что-то вроде:

Mar  4 22:20:00 solitare postfix/smtp[20313]: 6269B280191: to=<myotherusername@gmail.com>, relay=smtp.gmail.com[74.125.47.109]:587, delay=141, delays=110/29/0.36/1.9, dsn=2.0.0, status=sent (250 2.0.0 OK 1267759200 6sm401663ywd.11)
0
задан 2 August 2011 в 14:28
3 ответа

Можно сделать это, но не способ, которым Вы думаете. То, что Вы хотите сделать, использовать SSH ProxyCommand параметр конфигурации (см. ssh_config(5) для примеров), чтобы позволить Вам делать соединение SSH непосредственно от Вашей локальной машины до места назначения, туннелируя соединение SSH в одном или нескольких других соединениях. Вы не делаете несколько "транзитных участков", просто серия туннелей.

3
ответ дан 4 December 2019 в 11:07

Используя ProxyCommand как @womble сказал, что Вы работаете. Для меня другой путь работы, также. Я также должен иногда запускать удаленный X программ от компьютера, это находится позади другого сервера, таким образом, я должен соединиться со своего ноутбука на сервер и оттуда моему конечному месту назначения. Я делаю это как это:

ssh -YC me@myserver

и затем с сервера

ssh -YC me@myanothercomputer

Таким образом, я использую -YC вместо -X. Даже -Cне нужно, это - просто сжатие, помогает мне немного, если я нахожусь позади медленного соединения.

4
ответ дан 4 December 2019 в 11:07

Заметка на полях: Я не думаю, что goodserver имеет установленный X11.

Я думаю, что это - проблема - ssh -X попытается передать любому удаленному поступлению X соединений с локальным X-сервером, и это, кажется, невозможно, если нет никакого локального X библиотек и такого. (Могло бы случиться так, что SSH на самом деле пользуется X библиотеками для перезаписи cookie.)

Я просто попробовал Ваши команды, и это хорошо работало - но здесь промежуточный сервер имел эти X двоичных файлов, также. (Это не имеет никакого монитора, все же.)

Так, используйте предложение womble: используйте одно соединение SSH для goodserver, создайте туннель в этом соединении и затем выполните второе соединение через этот туннель. (Я обычно делаю это пользующееся клиентской библиотекой JSch SSH для Java, но это также возможно с командной строкой SSH.)

ssh -L localhost:2222:badserver:22 -N root@goodserver &
ssh -X -p 2222 root@localhost

Вам, возможно, понадобилось бы -o NoHostAuthenticationForLocalHost=yes чтобы вторая команда избежала Вашего клиента SSH, чтобы выть, если у Вас уже есть другой ключ для localhost, сохраненного в Вашем известном файле hosts.

1
ответ дан 4 December 2019 в 11:07

Теги

Похожие вопросы