mux-prefix no ssh ControlPath com Bastion server

0

Estou vendo amostras diferentes para configurar o ssh config para suportar Bastion conexão com os servidores internos da minha nuvem.

Eu encontrei várias amostras (funcionais) com o prefixo "mux-" na configuração do ControlPath -

Por exemplo:

#ssh_config
#use with ssh -F ssh_config user@<TARGET_SERVER_IP>
Host *
    ServerAliveInterval    60
    TCPKeepAlive           yes
    ProxyCommand           ssh -q -A gmasgras@<JUMP_SERVER_IP> nc %h %p
    ControlMaster          auto
    ControlPath            ~/.ssh/mux-%r@%h:%p
    ControlPersist         8h
    User                   ubuntu
    StrictHostKeyChecking  no

fonte

Não consigo encontrar nenhuma explicação sobre o prefixo "mux-" , juntamente com o sufixo %r@%h:%p (% r = usuário remoto,% h = host,% p = porta). A combinação não é claramente uma chave pública ssh real na pasta ssh.

Em outras variações do ControlPath de amostra, as pessoas também estão usando:

ControlPath ~/.ssh/ssh-mux-%r@%h:%p

ou

ControlPath /tmp/ssh-%r@%h:%p

ou

ControlPath ~/.ssh/cm-%r@%h:%p

ou até mesmo

ControlPath ~/.ssh/ansible-%r@%h:%p

Você pode fornecer uma explicação para a convenção de prefixo? ( "mux-" , "ssh-mux-" , "ansible-" )

    
por orberkov 25.09.2018 / 10:37

2 respostas

1

A resposta é que o ControlPath cria um arquivo em sua máquina local, com o padrão ~/.ssh/XXX-%r@%h:%p , de acordo com a configuração que você definiu.

A string é arbitrária, é por isso que não é documentada em lugar algum.

As definições para o ControlPath de este artigo :

The ControlPath entry specifies where to store the “control socket” for the multiplexed connections. In this case, %r refers to the remote login name, %h refers to the target host name, and %p refers to the destination port. Including this information in the control socket name helps SSH separate control sockets for connections to different hosts.

De fato, se você navegar para a pasta ~ / .ssh /, você encontrará um arquivo criado automaticamente quando a conexão Bastion acontecer.

(FYI: Bastion também é conhecido como Jumphost )

    
por 25.09.2018 / 11:29
0

Enquanto o nome é arbitrário, como @orberkov menciona, as pessoas o nomeiam como mux porque mux é uma abreviação conhecida que vem do jargão eletrônico, significando um multiplexador. Os outros nomes, como ansible, ou outros, têm mais nomes no uso que as pessoas estão dando a esses soquetes.

Quanto ao seu tempo de vida, eles estão presentes enquanto o soquete está ativo e, em seguida, são excluídos.

Basicamente, você só quer nomeá-los em uma convenção que define um nome que é visível e reconhecido para o propósito, enquanto garante que você tenha um nome exclusivo para cada soquete diferente.

    
por 25.09.2018 / 14:12