插件窝 干货文章 如何通过SSH更改远程hostname

如何通过SSH更改远程hostname

hostname 主机 bash hostnamectl 897    来源:    2025-05-04

通过SSH更改远程主机名(hostname)的步骤

要通过SSH更改远程Linux主机的hostname,可以按照以下步骤操作:

方法一:使用hostnamectl命令(推荐,适用于systemd系统)

  1. 首先通过SSH连接到远程主机:

    ssh username@remote_host_ip
    
  2. 使用hostnamectl命令更改主机名(需要root权限):

    sudo hostnamectl set-hostname new_hostname
    

    例如:

    sudo hostnamectl set-hostname server01
    
  3. 验证更改是否生效:

    hostnamectl
    

方法二:修改/etc/hostname文件

  1. 通过SSH连接到远程主机:

    ssh username@remote_host_ip
    
  2. 编辑hostname文件(需要root权限):

    sudo nano /etc/hostname
    

    sudo vi /etc/hostname
    
  3. 删除原有内容,写入新的主机名,保存退出

  4. 更新当前会话的主机名:

    sudo hostname new_hostname
    

额外步骤(重要)

无论使用哪种方法,还需要:

  1. 更新/etc/hosts文件,确保127.0.1.1指向新的主机名:

    sudo nano /etc/hosts
    

    修改类似这样的行:

    127.0.1.1   new_hostname
    
  2. 对于某些系统,可能需要重启才能完全生效:

    sudo reboot
    

注意事项

  • 需要具有root权限或sudo权限
  • 主机名通常只能包含字母、数字和连字符(-)
  • 更改后可能需要重启某些服务才能完全生效
  • 如果是云服务器,某些云平台可能有额外的命名要求或限制

一次性命令(适用于自动化脚本)

可以通过一条SSH命令直接完成:

ssh username@remote_host_ip "sudo hostnamectl set-hostname new_hostname && sudo sed -i 's/^127.0.1.1.*/127.0.1.1\tnew_hostname/' /etc/hosts"