J'ai un cluster hadoop à 2 nœuds.
J'ai exécuté cette commande sur le maître:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Comment puis-je annuler cela? Je voudrais en fait réaffecter la clé.
192.168.1.1
est l'esclave.
J'ai un cluster hadoop à 2 nœuds.
J'ai exécuté cette commande sur le maître:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Comment puis-je annuler cela? Je voudrais en fait réaffecter la clé.
192.168.1.1
est l'esclave.
Réponses:
Identifiez la clé publique que vous avez copiée lors de l'exécution ssh-copy-id
:
cat ~/.ssh/id_rsa.pub
SSH sur le serveur sur lequel vous avez copié la clé:
ssh hadoop@192.168.1.1
Modifiez le fichier ~hadoop/.ssh/authorized_keys
en 192.168.1.1
utilisant votre éditeur préféré et supprimez la ligne contenant votre clé.
ssh
pour exécuter une sed
commande (ou similaire) pour modifier ~/.ssh/authorized_keys
et supprimer la ligne. Voir superuser.com/questions/429954/…
Si vous avez fait ssh-copy-id
comme:
remote='user@machine'
ssh-copy-id -i $remote
Vous pouvez donc accéder à cette machine distante sans utiliser de mot de passe:
ssh $remote
Pour l'annuler de manière systématique, vous pouvez écrire quelque chose comme:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
Je l'utilise dans les scripts dont j'ai besoin pour scp
plusieurs fichiers, donc je ne demande qu'une seule fois le mot de passe.
AAA....==
chaîne (la clé réelle) ou pour la ligne complète de id_rsa.pub
. Mais +1 pour montrer comment automatiser la suppression d'une clé.
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1