Como especificar um nome de sessão de tela diferente durante o ssh

1

Tenho várias sessões de tela em execução em um dos meus servidores (digamos session_read , session_prod ..)

Atualmente, eu especifico a sessão de tela depois que eu fiz ssh em meu servidor.

Existe uma maneira de especificar a sessão de tela enquanto eu estou tentando ssh em?

Algo como

ssh user@servername screen_session_name
    
por mu 無 25.09.2013 / 06:01

2 respostas

1

Você precisa alocar um TTY ou o SSH reclamará:

$ ssh host screen
Must be connected to a terminal.

Supondo que a sessão já está desconectada:

$ ssh -t user@host screen -r session

caso contrário, uma combinação adequada de -d, -r, -D, -R, -x por a página de manual .

    
por 25.09.2013 / 06:14
1

Eu uso uma linha hardstatus personalizada em ~/.screenrc :

hardstatus alwayslastline "%{wk}%-w%{Gk}[%n %t]%{wk}%+w%=%{Ck}%d %M %Y %c:%s"

combinado com um pequeno script de shell:

#!/usr/bin/env bash
show_help() {
  printf "Usage: con hostname\n"
  exit 0
}

[[ "$#" -eq 1 ]] || show_help

uppercase="${1^^}"
lowercase="${1,,}"

screen -t "${uppercase}" -T screen-256color ssh "${lowercase}"

exit 0

Coloque em algum lugar no seu PATH, e você só precisa chamá-lo:

$ my_script hostname

e uma nova sessão de tela será alocada com o título definido para o nome do host ao qual você está se conectando.

Você pode fornecer mais personalizações por meio das configurações de ~/.ssh/config .

    
por 25.09.2013 / 08:33