Sim, o SSHv2 suporta várias sessões na mesma conexão. O OpenSSH suporta isso na forma de "mestre multiplex".
-
Em
~/.ssh/config
, defina o modelo de caminho do soquete:Host * ControlPath ~/.ssh/S.%l.%r@%h:%p ControlMaster auto
-
Ativar conexões multiplexadas:
-
Inicie uma conexão mestre manualmente, adicionando a opção
-M
(master) assh
.A combinação
ssh -fNM
pode ser útil para fazer com que o mestre vá instantaneamente para o segundo plano.$ ssh -fNM <host>
-
Para fazer isso automaticamente (somente o OpenSSH 5.6 e superior), defina
ControlPersist
no seu~/.ssh/config
:Host * ControlPersist 10m
Com esta opção, uma conexão mestre será iniciada automaticamente e a opção
-M
é desnecessária.
-
-
Conexões adicionais podem ser abertas simplesmente executando
ssh host
em novas janelas de terminal. Isso também funciona comsftp
,scp
e qualquer outra coisa que use SSH. -
Quando
ControlPersist
está em uso, a conexão principal será fechada automaticamente quando não for mais necessária. (No exemplo acima,10m
é dez minutos.)Caso contrário, use
ssh host -O exit
para parar o mestre manualmente. Isso matará todas as conexões para esse host.
Para mais informações, veja ssh (1) (a opção -O
) e ssh_config (5) ( Control*
options).
Observação: ao editar .ssh/config
, certifique-se de que as seções específicas do host sejam as primeiras e Host *
seja a seção última .