Si vous exécutez toujours apt-get
sur vos serveurs à la main (pas de apt-get
lancées par crons), alors vous pouvez envisager d'utiliser transfert d'agent ssh . Cela évite d'avoir à gérer une paire de clés publiques/privées par serveur que vous gérez, et c'est probablement plus sûr que de laisser des clés privées sur chaque serveur.
Configuration initiale - connectez-vous aux serveurs que vous voulez gérer, et ajoutez quelque chose comme ceci à /etc/apt/sources.list
(cet exemple suppose que vous voulez que vos serveurs se connectent à l'interface de l'entreprise). manager
compte) :
deb ssh://manager@my.repository.org/path other stuff
-
créer une paire de clés privées/publiques sur votre propre ordinateur, avec votre login johndoe
par exemple (à condition que votre ordinateur tourne sous debian : sinon, vous pouvez le faire à partir d'un serveur debian dédié à la gestion) :
ssh-keygen
-
veillez à ce qu'il soit protégé par une phrase clé forte
-
copier votre clé publique sur le serveur de référentiel dans /home/manager/.ssh/authorized_keys
:
ssh-copy-id manager@my.repository.org
Une fois par session de gestion
Gestion d'un serveur
-
connectez-vous au serveur que vous voulez gérer en utilisant ssh -A
( -A
active le transfert d'agent) :
ssh -A some.server.org
-
à la racine (si vous voulez utiliser sudo
vous devez configurer /etc/sudoers
ou bien sudo
brisera le transfert d'agent, lisez ceci ):
su
-
vous devriez maintenant être en mesure de vous connecter au compte du gestionnaire du référentiel en utilisant ssh sans avoir à retaper votre mot de passe, grâce au transfert d'agent. Par conséquent, apt-get
devrait fonctionner parfaitement :
apt-get udate
Terminer votre session de gestion
Avantages
- Peu de configuration initiale est nécessaire
- Une seule clé privée est nécessaire
- La clé privée est protégée par une phrase de passe forte.
- Si quelqu'un obtient un accès root à l'un de vos serveurs, il n'aura pas immédiatement accès à votre serveur de dépôt.
- Notez que si le pirate est patient et qualifié, il peut attendre que vous vous connectiez au serveur en utilisant la redirection d'agents, et il peut détourner le mécanisme de redirection afin d'accéder à votre serveur de référentiel.
- Pour éviter cela, vous pouvez utiliser
ssh-ask
afin d'accepter/refuser toute tentative d'utilisation de votre clé.
- Dans tous les cas, le hacker no d'avoir accès à la clé privée elle-même : il pourra simplement détourner le mécanisme de transfert afin de utiliser la clé, et seulement pendant le temps où vous êtes connecté au serveur.