本文介紹兩種遠(yuǎn)程修改Linux主機(jī)名的方法,一種是使用ssh命令,另一種是使用ansible自動(dòng)化工具。
方法一:通過(guò)SSH遠(yuǎn)程修改主機(jī)名
-
連接遠(yuǎn)程主機(jī): 使用SSH客戶端連接到您的Linux服務(wù)器。命令格式為:ssh 用戶名@服務(wù)器IP地址 (例如:ssh john@192.168.1.100)。
-
修改主機(jī)名: 使用以下命令修改主機(jī)名,將”新主機(jī)名”替換為您想要的主機(jī)名:
sudo hostnamectl set-hostname "新主機(jī)名"
-
更新/etc/hosts文件 (可選): 為了確保本地機(jī)器也能識(shí)別新的主機(jī)名,您可以編輯/etc/hosts文件。使用以下命令打開(kāi)該文件:
sudo nano /etc/hosts
找到127.0.0.1 localhost 舊主機(jī)名這一行,將”舊主機(jī)名”替換為”新主機(jī)名”。保存并關(guān)閉文件。
-
斷開(kāi)連接: 修改完成后,輸入exit命令退出SSH連接。
方法二:使用Ansible自動(dòng)化批量修改主機(jī)名
如果您需要修改多個(gè)Linux主機(jī)的名稱,Ansible是一個(gè)更有效率的選擇。
-
安裝Ansible: 在您的本地機(jī)器上安裝Ansible。具體安裝方法請(qǐng)參考Ansible官方文檔。
-
創(chuàng)建Ansible playbook: 創(chuàng)建一個(gè)名為change_hostname.yml的文件,內(nèi)容如下:
--- - 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: "新主機(jī)名"
-
準(zhǔn)備inventory文件: 創(chuàng)建一個(gè)inventory文件 (例如inventory),列出需要修改主機(jī)名的服務(wù)器IP地址和用戶名。 例如:
192.168.1.100 ansible_user=john 192.168.1.101 ansible_user=jane
-
運(yùn)行Ansible playbook: 使用以下命令運(yùn)行playbook:
ansible-playbook -i inventory change_hostname.yml
選擇哪種方法取決于您的需求。對(duì)于單臺(tái)服務(wù)器,SSH命令足夠;對(duì)于多臺(tái)服務(wù)器,Ansible更便捷高效。 請(qǐng)記住將”新主機(jī)名”替換為您實(shí)際想要的主機(jī)名。