Estou tentando configurar a multiplexação de SSH, mas estou com um erro e há, na medida do 0, ocorrências no Google para a mensagem de erro exata.
Eu criei ~/.ssh/config
com o conteúdo:
Host *
ControlPath ~/.ssh/master-%r@%h:%p
Em seguida, criei a conexão principal executando:
ssh -vMM [email protected]
que parece criar o soquete de multiplexação com sucesso:
...
Authenticated to host.example.com ([1.2.3.4]:22).
debug1: setting up multiplex master socket
debug1: channel 0: new [/home/user/.ssh/[email protected]:22]
debug1: channel 1: new [client-session]
debug1: Entering interactive session.
...
Então, tento executar um comando via ssh em outra janela:
ssh -v [email protected] ls
No entanto, isso parece não usar o soquete de multiplexação:
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.
...
O que poderia causar o erro Master refused session request: Permission denied
?
Editar: as permissões de ~/.ssh
e ~/.ssh/config
são 700 e 644, respectivamente, por isso não vejo um problema. ~/.ssh/master-*
não existe, eu acho que é um soquete abstrato do UNIX (e, portanto, não existe realmente no sistema de arquivos)? Mas isso ainda não explica o erro "acesso negado".
Além disso, notei que, ao tentar estabelecer a segunda conexão, a conexão principal imprime:
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
Talvez isso esteja relacionado. Estou conectado usando uma chave SSH não criptografada, por isso não vejo por que o SSH precisaria pedir uma senha.