如何撤消 ssh-copy-id?

如何撤消 ssh-copy-id?

我有一个2节点的Hadoop集群。

我在主服务器上运行了这个命令:

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

我怎样才能撤销此操作?我实际上想重新分配密钥。

192.168.1.1是奴隶。

答案1

识别您在运行时复制的公钥ssh-copy-id

cat ~/.ssh/id_rsa.pub

通过 SSH 连接到您将密钥复制到的服务器:

ssh [email protected]

~hadoop/.ssh/authorized_keys使用您喜欢的编辑器编辑该文件192.168.1.1,并删除包含您的密钥的行。

答案2

如果你做过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多个文件的脚本中使用它,因此我只需要输入一次密码。

相关内容