Raspberry Pi 4B 上直接透過 SSH 文字介面關閉 Wi-Fi

在 Raspberry Pi 4B 上,可以直接透過 SSH 文字介面關閉 Wi-Fi,不需要進入圖形介面。

建議使用 rfkill,也可以設定開機後持續停用 Wi-Fi。

1. 立即關閉 Wi-Fi

sudo rfkill block wifi

確認狀態:

rfkill list

預期結果:

0: phy0: Wireless LAN
    Soft blocked: yes
    Hard blocked: no

Soft blocked: yes 表示 Wi-Fi 已被軟體停用。

若要重新啟用:

sudo rfkill unblock wifi

2. 永久停用 Wi-Fi(建議用於固定有線網路的設備)

如果 Raspberry Pi 4B 使用 Ethernet 有線網路,而且不需要 Wi-Fi,可以透過 Device Tree Overlay 停用無線網路硬體。

編輯設定檔:

sudo nano /boot/firmware/config.txt

在檔案最後加入:

[all]
dtoverlay=disable-wifi

儲存後重新開機:

sudo reboot

驗證 Wi-Fi 是否已停用:

ip link show wlan0

預期結果:

Device "wlan0" does not exist.

也可以執行:

iw dev

正常情況下不會列出內建 Wi-Fi 介面。

注意: 舊版 Raspberry Pi OS 的設定檔可能位於 /boot/config.txt,請依實際系統確認。

3. 比較兩種方式

項目rfkilldisable-wifi
立即生效是需重新開機
是否需要修改設定否是
重新開機後依系統狀態還原機制而定持續停用
是否停用硬體初始化否是
恢復方式unblock移除設定並重新開機

4. 我的建議

如果 Raspberry Pi 4B 是固定使用有線網路的伺服器,例如執行 Nginx、DNS 或 Docker,建議使用:

dtoverlay=disable-wifi

這樣可以避免 Wi-Fi 被意外啟用,也能減少不必要的無線網路攻擊面。

重要: 如果目前 SSH 是透過 Wi-Fi 連線,執行停用指令會立即中斷連線。請先確認 Ethernet 已正常連線。