Если Вы имеете контроль над самим вызовом команды ssh, можно попробовать что-то вроде этого:
ssh user@remoteserver MYVAR1="$MYVAR1" MYVAR2="$MYVAR2" command
Я также использую "мишень" (для визуальной ясности) и heredoc для отправки удаленных сценариев удара:
tee << '+++' | ssh user@remoteserver MYVAR1="$MYVAR1" MYVAR2="$MYVAR2" bash
set -x
echo "hey, your variable is $MYVAR1"
echo "and your other variable is $MYVAR2"
+++
«основной IP-адрес» - это псевдоним для «того, что ваша система использует при отправке трафика по маршруту по умолчанию». В отсутствие исходных фраз на этом маршруте это первый адрес используемого интерфейса (более или менее).
Итак, если ваш адрес на eth1 - 10.10.10.11, сначала выясните, какой адрес маршрутизатора на этом интерфейсе имеет ( либо с помощью dhclient
, либо спросив своего системного администратора (предположим, что ответ 10.10.10.1), затем выполните
ip route change default via 10.10.10.1 dev eth1
Добавьте src 10.10.10.11
в конец, если в вашей системе более одного адреса на этом интерфейсе.
Примечание: вы можете использовать ip route
вместо route
. Другой синтаксис, но гораздо больше возможностей.
эта вещь cloudera, вероятно, полагается на разрешение имени хоста. убедитесь, что имя вашего хоста указывает на IP 10.xxx например, в системе, подобной debian, вы должны проверить, что имя хоста, настроенное в / etc / hostname, соответствует IP-адресу 10.xxx в /etc/hosts.