Como posso configurar o cliente ssh para abrir o tmux por padrão somente quando o ssh é chamado sem parâmetros?

1

Eu quero usar o tmux por padrão quando estou estabelecendo conexão ssh e isso funciona bem com um comando como:

ssh host.example.com -t 'tmux a || tmux || /bin/bash'

Eu posso até colocar isso como parte do ProxyCommand dentro do ~/.ssh/config , mas o problema é que eu também estou fazendo conexões SSH como parte de scripts que estão rodando comandos diferentes nas máquinas remotas e eu não quero o tmux em neste caso.

Como posso conseguir esse comportamento, então a invocação do tmux seria transparente e aconteceria apenas quando o ssh fosse colecionado sem nenhum parâmetro / comando.

    
por sorin 06.09.2013 / 14:11

2 respostas

1

Você está reinventando a roda.

por 06.09.2013 / 15:11
0

Resolvido adicionando isso a ~/.bashrc :

function ssh() {
  if [ "$#" == "1" ]; then
    if [ "${1:0:1}" != "-" ]; then
      /usr/bin/ssh "$@" -t 'tmux a || tmux || /bin/bash'
    else
    /usr/bin/ssh "$@";
    fi
  else
    /usr/bin/ssh "$@";
  fi
}
    
por 06.09.2013 / 14:45

Tags