Mam 2-węzłowy klaster hadoop.
Uruchomiłem to polecenie na urządzeniu głównym:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Jak mogę to cofnąć? Tak naprawdę chciałbym ponownie przypisać klucz.
192.168.1.1
jest niewolnikiem.
Mam 2-węzłowy klaster hadoop.
Uruchomiłem to polecenie na urządzeniu głównym:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Jak mogę to cofnąć? Tak naprawdę chciałbym ponownie przypisać klucz.
192.168.1.1
jest niewolnikiem.
Odpowiedzi:
Zidentyfikuj klucz publiczny, który skopiowałeś podczas uruchamiania ssh-copy-id
:
cat ~/.ssh/id_rsa.pub
SSH na serwer, na który skopiowałeś klucz do:
ssh hadoop@192.168.1.1
Edytuj plik ~hadoop/.ssh/authorized_keys
przy 192.168.1.1
użyciu preferowanego edytora i usuń wiersz zawierający klucz.
ssh
uruchomić sed
komendę (lub podobne), aby edytować ~/.ssh/authorized_keys
i usunąć linię. Zobacz superuser.com/questions/429954/…
Jeśli zrobiłeś coś ssh-copy-id
takiego:
remote='user@machine'
ssh-copy-id -i $remote
Aby uzyskać dostęp do tego zdalnego komputera bez użycia hasła:
ssh $remote
Aby cofnąć to w systematyczny sposób, możesz napisać skrypt w stylu:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
Używam go w skryptach, których potrzebuję do scp
kilku plików, więc tylko raz pytam o hasło.
AAA....==
łańcucha (rzeczywisty klucz), albo dla pełnej linii z id_rsa.pub
. Ale +1 za pokazanie, jak zautomatyzować usuwanie klucza.
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1