ssh -o ControlMaster=auto вызывает проблему с аутентификацией реестра контейнеров Google GCP?

ssh -o ControlMaster=auto вызывает проблему с аутентификацией реестра контейнеров Google GCP?

(извините, это что-то среднее между вопросом SSH и Google Cloud)

У меня есть скрипт python, отправляющий команды на виртуальную машину GCP через ssh для установки docker, загрузки менеджера учетных данных docker для реестра контейнеров google (gcr) и извлечения образа. Команды следующие:

  1. sudo apt-get update && sudo apt-get install -y docker.io && sudo usermod -aG docker $USER
  2. (загрузите docker-credential-gcr в ~/credential_getter/docker-credential-gcr)
  3. PATH=$PATH:~/credential_getter && docker-credential-gcr configure-docker && docker pull mycontainer_in_gcr

Для отправки каждой из вышеприведенных команд я использую следующее:

ssh -i my.pem -o ConnectTimeout=120s -o StrictHostKeyChecking=no -o ControlMaster=auto -o ControlPath=/tmp/mypath/%C -o ControlPersist=10s -o IdentitiesOnly=yes -o ExitOnForwardFailure=yes -o ServerAliveInterval=5 -o ServerAliveCountMax=3 UNAME@IPADDRESS bash --login -c -i COMMAND

Где я использую ControlMaster, чтобы уменьшить задержку между командами.

Команды 1) и 2) работают нормально, но с 3) я получаю странное поведение, когда docker-credential-gcr говорит, что печатает на экране как обычно, но затем docker pull завершается с ошибкой учетных данных. Но затем, если я захожу в свой терминал через несколько мгновений после того, как 3) не удается, и копирую и вставляю ту же команду ssh, команда работает правильно. Аналогично, если я помещаю ожидание в скрипт python между 2) и 3) больше, чем таймаут ControlMaster, он работает правильно.

Если я отправлю все три команды в скрипте Python, используя:

ssh -i my.pem -o ConnectTimeout=120s -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o ExitOnForwardFailure=yes -o ServerAliveInterval=5 -o ServerAliveCountMax=3 UNAME@IPADDRESS bash --login -c -i COMMAND

(Настройки ControlMaster удалены) тоже работает нормально.

Есть идеи, что может быть причиной такого разного поведения?

Связанный контент