Dê um nome claro a cada servidor
Um alias consistente poupa tempo e reduz os erros. Em ~/.ssh/config, guarde o endereço, o utilizador, a porta e a chave de cada servidor sob um único nome e inclua nesse nome a função e o ambiente, para que a produção seja imediatamente reconhecível. Para as opções que não definir para um servidor específico, aplicam-se os valores do bloco Host *.
Host prod-web-1
HostName 203.0.113.10
User admin
IdentityFile ~/.ssh/id_ed25519_prod
IdentitiesOnly yes
Host test-web-1
HostName 203.0.113.20
User adminEvite o servidor errado
Ao trabalhar em vários servidores, é fácil escrever um comando na janela errada. Mostre o nome do servidor no prompt, use uma cor de prompt diferente em produção e confirme onde está antes de qualquer operação destrutiva. Reserve os passos mais perigosos para um momento em que só esteja aberto um terminal.
hostname -f; whoami; pwdMantenha as tarefas longas em execução
Uma ligação interrompida normalmente termina a shell e os comandos que nela estão em execução. Execute tarefas longas dentro de tmux ou screen no servidor, para que continuem e possa voltar a ligar-se a elas. O keepalive do cliente deteta uma ligação perdida mais cedo, mas, por si só, não mantém a tarefa em execução.
tmux new -s upgrade
tmux attach -t upgradeSaiba que servidores respondem
Antes de começar a trabalhar em vários servidores, verifique se as respetivas portas SSH respondem. Uma porta fechada nem sempre significa que o servidor está inativo: o serviço pode ter parado ou uma firewall pode estar a bloquear a sua rede.
for host in prod-web-1 test-web-1; do
ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
doneVários servidores no CH-J Server Manager
Os perfis dos servidores são guardados num cofre local cifrado e podem estar abertas várias sessões SSH ao mesmo tempo. Em Alpha 0.1.1, dois terminais ficam lado a lado ou um por cima do outro, num ou em dois servidores, e ocultar um terminal não termina a respetiva sessão. Os módulos usam automaticamente a ligação quando só há uma aberta e pedem uma escolha quando há várias, pelo que um módulo nunca muda de servidor por si só. Bloquear o cofre desliga as sessões SSH, por isso termine primeiro o trabalho em curso ou mantenha-o em tmux.
Disponibilidade num relance
Em Alpha 0.1.1, o monitor de disponibilidade verifica os servidores guardados em segundo plano através de uma ligação TCP à porta SSH, por predefinição a cada 12 segundos, sem iniciar sessão. Offline significa então que a porta SSH não está acessível a partir da sua rede; o próprio servidor pode continuar a funcionar.