Se você sempre executa apt-get
seus servidores manualmente (sem apt-get
comandos automáticos iniciados por crons), considere usar o encaminhamento de agente ssh . Isso evita a necessidade de gerenciar um par de chaves pública / privada por servidor que você gerencia, e provavelmente é mais seguro do que deixar chaves privadas em todos os servidores.
Configuração inicial
- conecte-se aos servidores que você deseja gerenciar e adicione algo assim /etc/apt/sources.list
(este exemplo assume que você deseja que seus servidores se conectem à manager
conta):
deb ssh://manager@my.repository.org/path other stuff
crie um par de chaves públicas / privadas em seu próprio computador, com seu login, johndoe
por exemplo (desde que seu computador seja executado no debian: caso contrário, você pode fazer isso em um servidor debian dedicado ao gerenciamento):
ssh-keygen
- verifique se está protegido por uma frase-chave forte
copie sua chave pública para o servidor de repositório em /home/manager/.ssh/authorized_keys
:
ssh-copy-id manager@my.repository.org
Uma vez por sessão de gerenciamento
Gerenciando um servidor
conecte-se ao servidor que você deseja gerenciar usando ssh -A
( -A
ativa o encaminhamento de agente):
ssh -A some.server.org
mude para raiz (se você quiser usar, sudo
precisará configurar /etc/sudoers
ou sudo
interromperá o encaminhamento do agente, leia isto ):
su
agora você deve conseguir se conectar à conta de gerente do repositório usando ssh sem digitar sua senha novamente, graças ao encaminhamento do agente. Portanto, apt-get
deve funcionar bem:
apt-get udate
Finalizando sua sessão de gerenciamento
Vantagens
- Não é necessária muita configuração inicial
- É necessária apenas uma chave privada
- A chave privada é protegida por uma senha forte
- Se alguém obtiver acesso root a um servidor, ele não terá acesso imediato ao servidor de repositório.
- Observe que, se o hacker for paciente e qualificado, ele poderá esperar até você se conectar ao servidor usando o encaminhamento de agente e ele poderá invadir o mecanismo de encaminhamento para obter acesso ao servidor de repositório.
- Para ajudar a evitar isso, você pode usar
ssh-ask
para aceitar / recusar todas as tentativas de usar sua chave.
- De qualquer forma, o hacker não terá acesso à própria chave privada: ele poderá sequestrar o mecanismo de encaminhamento para poder usá- la e somente durante o tempo em que você estiver conectado ao servidor.