Eu gostaria de forçar conexões ssh secundárias a usar uma conexão existente do ControlMaster e falhar se o mestre não estiver presente.
Com ssh -o ControlPath=somewhere -o ControlMaster=no ...
, essa nova conexão procurará pelo mestre existente e, se não for encontrada, voltará a criar sua própria conexão independente. Podemos apenas desativar o fallback?
A coisa mais próxima que eu posso encontrar é
ssh -o ControlPath=somewhere -o ControlMaster=no -O check \
&& ssh -o ControlPath=somewhere -o ControlMaster=no
Estou sentindo falta de algo?
Por quê?
Um caso comum é onde ssh
requer alguma interação com um OTP ou hardware. Eu normalmente trabalho com vários terminais, cada um executando algo como while sleep 1; do ssh-and-reconnect-to-a-screen-session ; done
.
No meu mundo perfeito, haveria uma única conexão principal (com verificação de OTP / token), então todos os outros terminais fariam um loop e falhariam até que pudessem acessar a conexão do mestre de controle.
Como é (dependendo da ordem aleatória de conexões anteriores falharem e tentarem novamente), abrir a tampa do meu laptop me irritará com várias verificações OTP / token de uma só vez, porque todo comando ssh
quer ser o / a novo mestre.
(Novamente, em um mundo perfeito, mosh
resolveria o problema do pick-up-where-I-left-off, mas aqui não é realmente uma opção) -: