Eu tenho um cluster hadoop de 2 nós.
Eu executei este comando no mestre:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Como posso desfazer isso? Na verdade, eu gostaria de reatribuir a chave.
192.168.1.1
é o escravo.
Eu tenho um cluster hadoop de 2 nós.
Eu executei este comando no mestre:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Como posso desfazer isso? Na verdade, eu gostaria de reatribuir a chave.
192.168.1.1
é o escravo.
Respostas:
Identifique a chave pública que você copiou ao executar ssh-copy-id
:
cat ~/.ssh/id_rsa.pub
SSH para o servidor para o qual você copiou a chave:
ssh hadoop@192.168.1.1
Editar o arquivo ~hadoop/.ssh/authorized_keys
em 192.168.1.1
usar o seu editor preferido, e apagar a linha que contém a sua chave.
ssh
para executar um sed
comando (ou similar) para editar ~/.ssh/authorized_keys
e remover a linha. Veja superuser.com/questions/429954/…
Se você fez algo ssh-copy-id
parecido:
remote='user@machine'
ssh-copy-id -i $remote
Assim, você pode acessar esta máquina remota sem usar uma senha:
ssh $remote
Para desfazê-lo de uma maneira sistemática, você pode criar um script como:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
Eu o uso em scripts, preciso de scp
vários arquivos, então peço apenas uma vez a senha.
AAA....==
cadeia longa (a chave real) ou para a linha completa de id_rsa.pub
. Mas +1 para mostrar como automatizar a remoção de uma chave.
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1