web-dev-qa-db-ja.com

ssh-copy-idを元に戻す方法は?

2ノードのhadoopクラスターがあります。

マスターでこのコマンドを実行しました:

$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub [email protected]

どうすれば元に戻すことができますか?実際にキーを再割り当てしたいと思います。

192.168.1.1はスレーブです。

ssh-copy-idを実行したときにコピーした公開キーを特定します。

cat ~/.ssh/id_rsa.pub

キーをコピーしたサーバーへのSSH:

ssh [email protected]

~hadoop/.ssh/authorized_keys上のファイル192.168.1.1を好みのエディターを使用して編集し、キーを含む行を削除します。

20
David Edwards

次のような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回だけにします。

3
Javi M.