2 노드 hadoop 클러스터가 있습니다.
마스터 에서이 명령을 실행했습니다.
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
어떻게 취소 할 수 있습니까? 실제로 키를 다시 할당하고 싶습니다.
192.168.1.1
노예입니다.
2 노드 hadoop 클러스터가 있습니다.
마스터 에서이 명령을 실행했습니다.
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
어떻게 취소 할 수 있습니까? 실제로 키를 다시 할당하고 싶습니다.
192.168.1.1
노예입니다.
답변:
실행할 때 복사 한 공개 키를 식별하십시오 ssh-copy-id
.
cat ~/.ssh/id_rsa.pub
키를 복사 한 서버에 대한 SSH :
ssh hadoop@192.168.1.1
선호하는 편집기 ~hadoop/.ssh/authorized_keys
를 192.168.1.1
사용하여 파일 을 편집하고 키가 포함 된 줄을 삭제하십시오.
ssh
하는 sed
명령 (또는 이와 유사한)을 실행하는 데 사용되는 작은 하나의 라이너로 직접 "자동화"할 수 ~/.ssh/authorized_keys
있습니다. superuser.com/questions/429954/…
당신이 ssh-copy-id
같은 짓을 한 경우 :
remote='user@machine'
ssh-copy-id -i $remote
비밀번호를 사용하지 않고이 원격 시스템에 액세스 할 수 있습니다.
ssh $remote
묵시적인 방식으로 실행 취소하려면 다음과 같은 스크립트를 작성하면됩니다.
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
scp
여러 파일이 필요한 스크립트에서 사용 하므로 암호를 한 번만 요청합니다.
AAA....==
문자열 (실제 키) 또는의 전체 줄을 grep합니다 id_rsa.pub
. 그러나 키 제거를 자동화하는 방법을 보여주는 +1입니다.
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1