Ho un cluster hadoop a 2 nodi.
Ho eseguito questo comando sul master:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Come posso annullare questo? In realtà vorrei riassegnare la chiave.
192.168.1.1
è lo schiavo.
Ho un cluster hadoop a 2 nodi.
Ho eseguito questo comando sul master:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Come posso annullare questo? In realtà vorrei riassegnare la chiave.
192.168.1.1
è lo schiavo.
Risposte:
Identifica la chiave pubblica che hai copiato durante l'esecuzione ssh-copy-id
:
cat ~/.ssh/id_rsa.pub
SSH sul server in cui è stata copiata la chiave per:
ssh hadoop@192.168.1.1
Modificare il file ~hadoop/.ssh/authorized_keys
sul 192.168.1.1
usando il vostro editor preferito, ed eliminare la riga contenente la chiave.
ssh
per eseguire un sed
comando (o simile) per modificare ~/.ssh/authorized_keys
e rimuovere la linea. Vedi superuser.com/questions/429954/…
Se hai fatto un ssh-copy-id
like:
remote='user@machine'
ssh-copy-id -i $remote
Quindi puoi accedere a questa macchina remota senza usare una password:
ssh $remote
Per annullarlo in modo sistematico, puoi scrivere qualcosa come:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
Lo uso negli script di cui ho bisogno per scp
diversi file, quindi chiedo solo una volta la password.
AAA....==
stringa lunga (la chiave effettiva) o per la riga completa da id_rsa.pub
. Ma +1 per mostrare come automatizzare la rimozione di una chiave.
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1