本文介紹兩種遠程修改Linux主機名的方法,一種是使用ssh命令,另一種是使用ansible自動化工具。
方法一:通過SSH遠程修改主機名
-
連接遠程主機: 使用SSH客戶端連接到您的Linux服務器。命令格式為:ssh 用戶名@服務器IP地址 (例如:ssh john@192.168.1.100)。
-
修改主機名: 使用以下命令修改主機名,將”新主機名”替換為您想要的主機名:
sudo hostnamectl set-hostname "新主機名"
-
更新/etc/hosts文件 (可選): 為了確保本地機器也能識別新的主機名,您可以編輯/etc/hosts文件。使用以下命令打開該文件:
sudo nano /etc/hosts
找到127.0.0.1 localhost 舊主機名這一行,將”舊主機名”替換為”新主機名”。保存并關閉文件。
-
斷開連接: 修改完成后,輸入exit命令退出SSH連接。
方法二:使用Ansible自動化批量修改主機名
如果您需要修改多個Linux主機的名稱,Ansible是一個更有效率的選擇。
-
安裝Ansible: 在您的本地機器上安裝Ansible。具體安裝方法請參考Ansible官方文檔。
-
創建Ansible playbook: 創建一個名為change_hostname.yml的文件,內容如下:
--- - name: Change hostname of remote Linux hosts hosts: all tasks: - name: Set new hostname ansible.builtin.shell: "sudo hostnamectl set-hostname {{ new_hostname }}" vars: new_hostname: "新主機名"
-
準備inventory文件: 創建一個inventory文件 (例如inventory),列出需要修改主機名的服務器IP地址和用戶名。 例如:
192.168.1.100 ansible_user=john 192.168.1.101 ansible_user=jane
-
運行Ansible playbook: 使用以下命令運行playbook:
ansible-playbook -i inventory change_hostname.yml
選擇哪種方法取決于您的需求。對于單臺服務器,SSH命令足夠;對于多臺服務器,Ansible更便捷高效。 請記住將”新主機名”替換為您實際想要的主機名。