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=`cat ~/.ssh/id_rsa.pub | awk '{print $2}'`
ssh $remote "sed -i '/$idssh/{d}' .ssh/authorized_keys"
scp
複数のファイルが必要なスクリプトで使用しているため、パスワードを要求するのは1回だけです。
AAA....==
文字列(実際のキー)またはからの完全な行のいずれかをgrepしますid_rsa.pub
。しかし、キーの削除を自動化する方法を示すために+1。
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1