溫馨提示×

Ubuntu主機名可以遠程修改嗎

小樊
44
2025-07-07 10:40:44
欄目: 云計算

是的,Ubuntu的主機名可以通過SSH遠程修改。以下是幾種常見的方法:

使用hostnamectl命令

通過SSH連接到遠程Ubuntu機器,然后使用以下命令:

  1. 查看當前主機名:

    hostnamectl status
    
  2. 設置新的主機名:

    sudo hostnamectl set-hostname new-hostname
    
  3. 重啟網絡服務以應用更改(可選):

    sudo systemctl restart networking
    

    或者簡單地重啟系統:

    sudo reboot
    

手動編輯/etc/hostname文件

  1. 通過SSH連接到遠程Ubuntu機器。

  2. 備份當前的/etc/hostname文件:

    sudo cp /etc/hostname /etc/hostname.bak
    
  3. 編輯/etc/hostname文件:

    sudo nano /etc/hostname
    

    將文件中的舊主機名替換為新主機名,然后保存并退出編輯器。

  4. 編輯/etc/hosts文件以確保所有IP地址都指向新的主機名:

    sudo nano /etc/hosts
    

    找到包含舊主機名的行,并將其替換為新主機名。例如:

    127.0.0.1 localhost new-hostname
    
  5. 重啟網絡服務以應用更改:

    sudo systemctl restart systemd-networkd
    
  6. 驗證新主機名是否已應用:

    hostnamectl status
    

使用Ansible自動化腳本(適用于批量修改)

如果你經常需要批量修改多個主機的hostname,可以使用Ansible來自動化這個過程。

  1. 安裝Ansible(如果尚未安裝):

    sudo apt update
    sudo apt install ansible
    
  2. 創建一個Ansible playbook(例如change_hostname.yml):

    ---
    - hosts: all
      become: yes
      tasks:
        - name: Change hostname
          shell: echo "new_hostname" > /etc/hostname
          args: creates: /etc/hostname
        - name: Restart networking service
          systemd:
            name: networking
            state: restarted
    
  3. 運行Ansible playbook:

    ansible-playbook change_hostname.yml
    

請注意,修改主機名后,可能需要重新啟動某些服務或應用程序以確保它們能夠正確識別新的主機名。在生產環境中進行此類更改之前,請確保您有完整的備份,并了解可能的影響。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女