首页主机资讯如何批量修改Linux服务器hostname

如何批量修改Linux服务器hostname

时间2025-11-04 09:45:03发布访客分类主机资讯浏览288
导读:在Linux服务器上批量修改hostname可以通过编写脚本来实现。以下是一个简单的示例,展示了如何在多台服务器上批量修改hostname。 步骤1:准备服务器列表 首先,你需要一个包含所有服务器IP地址或主机名的列表文件。假设这个文件名为...

在Linux服务器上批量修改hostname可以通过编写脚本来实现。以下是一个简单的示例,展示了如何在多台服务器上批量修改hostname。

步骤1:准备服务器列表

首先,你需要一个包含所有服务器IP地址或主机名的列表文件。假设这个文件名为servers.txt,内容如下:

server1.example.com
server2.example.com
server3.example.com

步骤2:编写脚本

创建一个脚本文件,例如change_hostname.sh,内容如下:

#!/bin/bash

# 读取服务器列表文件
SERVER_LIST="servers.txt"

# 读取新hostname
NEW_HOSTNAME=$1

# 遍历服务器列表并修改hostname
for SERVER in $(cat $SERVER_LIST);
     do
    echo "Changing hostname for $SERVER to $NEW_HOSTNAME"
    ssh $SERVER "sudo hostnamectl set-hostname $NEW_HOSTNAME"
    ssh $SERVER "sudo echo '$NEW_HOSTNAME' >
     /etc/hostname"
    ssh $SERVER "sudo systemctl restart networking"
done

步骤3:赋予脚本执行权限

在终端中运行以下命令,赋予脚本执行权限:

chmod +x change_hostname.sh

步骤4:执行脚本

运行脚本并传入新的hostname作为参数:

./change_hostname.sh newhostname

注意事项

  1. SSH无密码登录:为了能够通过SSH无密码登录到所有服务器,你需要提前配置好SSH密钥认证。
  2. 权限问题:确保你有足够的权限在远程服务器上执行这些命令。通常需要使用sudo
  3. 网络连接:确保你的本地机器可以访问所有列出的服务器。
  4. 防火墙设置:确保服务器的防火墙允许SSH连接。

示例:配置SSH无密码登录

如果你还没有配置SSH无密码登录,可以按照以下步骤进行:

  1. 在本地机器上生成SSH密钥对(如果还没有):

    ssh-keygen -t rsa
    
  2. 将公钥复制到每台服务器的~/.ssh/authorized_keys文件中:

    ssh-copy-id user@server1.example.com
    ssh-copy-id user@server2.example.com
    ssh-copy-id user@server3.example.com
    

    其中user是你在每台服务器上的用户名。

完成这些步骤后,你就可以顺利地批量修改Linux服务器的hostname了。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何批量修改Linux服务器hostname
本文地址: https://pptw.com/jishu/741611.html
Linux hostname错误信息解读 Linux hostname更改后服务受影响吗

游客 回复需填写必要信息