Мастер отказался от запроса сеанса: отказано в разрешении

Я пытаюсь настроить мультиплексирование SSH, но я столкнулся с ошибкой, и для получения точного сообщения об ошибке в Google есть 0 обращений.

Я создал ~/.ssh/config с содержимым:

  • Отказ "/ opt /" доступа для пользователей SFTP, отличных от определенного каталога
  • Пределы мультиплексирования SSH
  • Как получить доступ к моей локальной сети из любого места через ssh?
  • Измените SSH-баннер, который захватывает netcat
  • Где gnome-keyring задает $ SSH_AUTH_SOCK?
  • Сервер Openssh: фатальный: слишком много сокетов для прослушивания. Увеличить MAX_LISTEN_SOCKS
  •  Host * ControlPath ~/.ssh/master-%r@%h:%p 

    Затем я создал мастер-соединение, запустив:

     ssh -vMM user@host.example.com 

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

     ... Authenticated to host.example.com ([1.2.3.4]:22). debug1: setting up multiplex master socket debug1: channel 0: new [/home/user/.ssh/master-user@host.example.com:22] debug1: channel 1: new [client-session] debug1: Entering interactive session. ... 

    Затем я запускаю команду через ssh в другом окне:

     ssh -v user@host.example.com ls 

    Однако, похоже, не удалось использовать мультиплексирующий сокет:

     OpenSSH_7.5p1, OpenSSL 1.1.0f 25 May 2017 debug1: Reading configuration data /home/user/.ssh/config debug1: /home/user/.ssh/config line 1: Applying options for * debug1: Reading configuration data /etc/ssh/ssh_config Master refused session request: Permission denied debug1: Connecting to host.example.com [1.2.3.4] port 22. ... 

    Что может привести к Master refused session request: Permission denied ошибка?


    Изменить: разрешения ~/.ssh и ~/.ssh/config – соответственно 700 и 644, поэтому я не вижу там проблемы. ~/.ssh/master-* не существует, я думаю, что это абстрактный UNIX-сокет (и, следовательно, фактически не существует в файловой системе)? Но тогда это все еще не объясняет ошибку «отказ в доступе».

    Кроме того, я заметил, что при попытке установить второе соединение основное соединение печатает:

     debug1: channel 2: new [mux-control] debug1: permanently_drop_suid: 0 ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory debug1: channel 2: free: mux-control, nchannels 3 

    Возможно, это связано. Я подключен с использованием незашифрованного ключа SSH, поэтому я не понимаю, почему SSH нужно будет запросить пароль.

  • Понять отладочные сообщения из sshd
  • автоматическое восстановление SSH-соединения при загрузке
  • openSSH login медленный для одного пользователя, но не для других
  • Как использовать openSSH для шифрования диска во время загрузки (OpenSSH и Dropbear)
  • как установить параметр подсистемы sftp -s в файле конфигурации
  • Я не могу ssh на localhost в определенном порту на os x
  • One Solution collect form web for “Мастер отказался от запроса сеанса: отказано в разрешении”

    Я выяснил, что вызывает ошибку «Access denied».

    По умолчанию SSH, похоже, хочет интерактивно запрашивать разрешение, когда другой SSH-процесс хочет использовать существующий мультиплексный сеанс. Однако в моей системе отсутствует программа ssh-askpass , которую он использует для ssh-askpass разрешения, поэтому SSH по умолчанию «нет, не предоставляет доступ», что приводит к сообщению об ошибке «отказ в доступе» на клиенте.

    Если установлен ssh-askpass (который находится в пакете x11-ssh-askpass на Arch Linux), появится диалоговое окно, такое как следующее:

    Выбор «OK» позволит продолжить попытку подключения.

    Сама подсказка была вызвана тем, что я дважды -M в командной строке мастера. Процитировать SSH(1) :

    Множественные опции -M помещают ssh в «главный» режим с подтверждением, которое требуется, прежде чем подчиненные соединения будут приняты.

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