Обновление набора Mac через SSH

Вы не дали много информации, чтобы продолжать. Вы можете попробовать Wireshark или iPtables (в зависимости от вашей конфигурации).

1
20.04.2019, 18:20
1 ответ

поняли это. Вот мой функциональный сценарий:

#!/bin/bash
ADMIN_PASS="$(cat /Users/adminuser/Documents/UpdateScript/enPass.txt)"
ADMIN_USER="adminuser"
HOST_LIST="/Users/adminuser/Desktop/hosts.txt"

for HOST in $(< $HOST_LIST); do
  echo ""
  echo "--------------------------------"
  echo "# CONNECTING TO: $HOST #"
  echo "--------------------------------"
  echo ""

  ssh -tt $ADMIN_USER@$HOST << ENDSSH

    echo 'Connected to host!'
    echo $ADMIN_PASS | base64 -d | sudo -S /usr/local/munki/managedsoftwareupdate -v --auto
    echo 'Finished Munki Update!'
    echo $ADMIN_PASS | base64 -d | sudo -S softwareupdate -ia
    echo 'Finished Apple Software Update!'
    echo $ADMIN_PASS | base64 -d | sudo -S shutdown -r now
    logout

ENDSSH


  echo ""
  echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  echo "~~ Update script completed successfully on $HOST ~~"
  echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  echo ""

done

Явно передача $ADMIN_PASS переменная к каждой команде, которую я хотел выполнить, кажется, работает просто великолепно. Я сделал предположение, что, потому что это собиралось работать на удаленном Mac, локальное $ADMIN_PASS , переменная не шла на работу. Я продолжу смешивать с этим, поскольку мне не нравится то, что это заметно отображает значение в enPass.txt каждый раз , $ADMIN_PASS эха используется. Надеялся, что этот синтаксис отправит его в команда base64-d и сохранит его от Окна терминала.

Это функционирует хорошо. Если у кого-либо есть предложения, сообщить мне. Мне также любопытно из того, насколько безопасный этот сценарий. Если мой мозг работает должным образом, я думаю , зашифрованный пароль отправляется в клиентскую систему и ЗАТЕМ дешифрован прежде чем быть используемым в команды sudo-S .

0
28.01.2020, 01:49

Теги

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