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