Как правильно использовать ssh ControlMaster

У меня есть скрипт, который выполняет несколько команд удаленно через ssh. Я выполняю каждую команду отдельно, потому что я хочу делать другие вещи между казнями.

Тем не менее, я не хочу воссоздавать сеанс ssh каждый раз, когда я выдаю новую команду. Я читал о -oControlMaster но я не могу заставить его работать.

Когда я запускаю:

 ssh -oControlMaster=yes -oControlPath=/tmp/test.sock root@host 

после ввода пароля я просто получаю сеанс ssh. Если я выйду, файл /tmp/test.sock не будет найден.

Что мне не хватает?

  • gpg-agent пытается использовать несуществующий ключ ssh
  • Можно ли загружать чрезвычайно большие файлы разумно или по частям через SSH от Linux до Windows?
  • Предоставление пользователям SSH доступа только для чтения к каталогу
  • Сохранять SSH-соединение, сохраняющееся при пробуждении и приостановке работы компьютера
  • Ошибка при попытке перезагрузки ssh
  • объяснение туннеля ssh
  • Безопасность шифрования SSH
  • Как сделать grep на удаленном компьютере и распечатать строку, содержащую эти слова?
  • 2 Solutions collect form web for “Как правильно использовать ssh ControlMaster”

    Вы можете использовать опцию ControlPersist чтобы покинуть сокет после отключения от сервера.

    например, в моем конфигурационном файле ssh у меня есть этот фрагмент, который отключает подключение 3 сек.

     Хост *
        ControlMaster auto
        ControlPath ~/.ssh/master-socket/%r@%h:% p
        #ControlPath ~/.ssh/%r@%h:% p
        ControlPersist 3s
    

    Для подключения к главному соединению необходимо открыть одно главное соединение.

    Файл сокета доступен только в том случае, когда основное соединение открыто. Если вы закроете главное соединение, файл сокета будет удален. Любое открытое «подчиненное соединение» также будет закрыто, если главное соединение будет закрыто.

    Linux и Unix - лучшая ОС в мире.