【问题标题】:How do I write a bash script to regnerate ssh keys on a cluster?如何编写 bash 脚本以在集群上生成 ssh 密钥?
【发布时间】:2014-07-07 20:43:56
【问题描述】:

我有一个 centos 服务器集群,我想重新生成 ssh 主机密钥。有很多所以我不想做:

   ssh root@servername "ssh-keygen -q -f /etc/ssh/ssh_host_key -N '' -t rsa" 

对于每台服务器,因为这需要很长时间,我必须在右边输入 y,然后将新的主机密钥添加到我已知的主机文件中。如果有帮助,我有一个 IP 列表。我在想我可以对它们做一个 for 循环。

有什么建议吗?

【问题讨论】:

  • 您是否尝试过查找如何通过 shell 脚本来完成?

标签: bash ssh ssh-keys sshd


【解决方案1】:

如果您有 ips 列表,在服务器列表上重新生成 ssh 主机密钥应该很容易。我将遍历它们并删除现有的主机密钥,然后重新启动 ssh 服务器,它会自动重新生成它们。确保在 rm 和 sshd restart 之间执行 && ,否则可能会被锁定。

#!/bin/bash

for server in 1.2.3.4 1.2.3.5 1.2.3.6 1.2.3.7
do
    echo updating $server 
    ssh-keygen -R $server
    ssh root@$server -o StrictHostKeyChecking=no "rm -rf /etc/ssh/ssh_host_* && /etc/init.d/sshd restart"
    echo `ssh-keyscan -t rsa $server` >> ~/.ssh/known_hosts
done

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 2016-02-24
    • 2023-01-21
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 2020-01-12
    • 2014-10-28
    相关资源
    最近更新 更多