SSH глобальный $PATH

Нет никакого фактического клиента здесь действительно для этого, большинство людей просто использует свой MTA (Агенты Передачи почты) к реле и затем использует sendmail (1) или почта (1) для введения почты очереди их MTA (или непосредственно или через порт SMTP 25)

Большинство машин Unix идет с MTA, обычно один из Sendmaill, Postfix или Exim.

Постфикс

В постфиксе Вы хотите установить свой relayhost в/etc/postfix/main.cf (или везде, где Ваш main.cf конфигурационный файл установлен).

relayhost = my.mailrelay.com

Sendmail

Для sendmail термин называют SMART_HOST, и можно определить его в sendmail.mc

define(`SMART_HOST',`my.mailrelay.com')

Exim

В Exim, изменение раздел "маршрутизаторов" Вашей конфигурации и добавляют

smarthost:
  driver = domainlist
  transport = remote_smtp
  require_files = /etc/exim/smarthost
  route_list = "* my.mailrelay.com"

Qmail

Я никогда не видел Qmail, прибывший установленный на машине (главным образом из-за условий лицензирования DJB), таким образом, это находится, вероятно, не в Вашей ситуации, но мы могли бы также перечислить последний из больших 4 MTA в одном месте.

echo ":my.mailrelay.com" > /var/qmail/control/smtproutes

Примечания*

Некоторые люди могли бы сказать, использовать сценарий для введения сообщений к удаленному серверу SMTP по порту 25/487. Это решение испорчено. SMTP разработан так, чтобы почтовые серверы могли временно отклонить почту по любой причине. Все серверы SMTP имеют механизмы нейтрализации так, чтобы сообщения были повторены и повторены. Теперь Ваш сценарий мог реализовать это, но затем Вы спускаетесь по маршруту изобретения велосипед. Практически каждая система Linux прибывает установленная с MTA, и они тривиальны для установки на Linux и любой системе Unix, с которой я столкнулся. Конфигурирование их может быть пугающим, когда Вы начинаетесь, но электронная почта так ubiqutous, необходимо изучить это, если Вы хотите управлять подобными Unix машинами.

Если удаленный сервер SMTP, который Вы передаете через, просто позволяет Вам реле IP, вышеупомянутое должно быть достаточным. Однако это возможно удаленный сервер SMTP, который Вы хотите передать через, потребует, чтобы Вы использовали аутентификацию SMTP и/или SSL/TLS к реле через. В этом случае необходимо будет настроить MTA для предоставления этой подробной информации.

1
задан 23 May 2017 в 15:41
4 ответа

Если Вы используете Bash в качестве оболочки по умолчанию для пользователя, Вашего ssh команда запускает неинтерактивную оболочку невхода в систему, таким образом, она не обрабатывает /etc/profile. Необходимо будет получить тот файл в сценарии.

1
ответ дан 3 December 2019 в 19:28

Когда Вы выполняете команду через ssh, это не запускает оболочку входа в систему на удаленном хосте. Практические последствия этого варьируются, но обычно это означает, что будут проигнорированы файлы инициализации оболочки, которые работают при входе в систему. С другой стороны, окружите файлы инициализации, которые для каждого экземпляра оболочки будут все еще обработаны.

Если Вы используете bash, это означает это только Ваш .bashrc файл используется. Я часто вставлял что-то вроде этого мой .bashrc файл:

if [ ! "$RAN_PROFILE" ]; then
  . $HOME/.profile
fi

И в нижней части моего .profile:

RAN_PROFILE=1
export RAN_PROFILE

Это гарантирует, чтобы я добрался .profile сервисы даже для оболочек невхода в систему.

1
ответ дан 3 December 2019 в 19:28

Я устранил эту проблему, добавляющую путь к/etc/environment

PATH=/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/core_perl

Не знайте - ли это хорошая практика, но работает.

Спасибо!

1
ответ дан 3 December 2019 в 19:28

Оболочка на Вашем клиенте разворачивает переменную ПУТИ, таким образом, необходимо будет выйти из знака доллара.

foo$ ssh username@bar.example.com 'echo \$PATH'

0
ответ дан 3 December 2019 в 19:28

Теги

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