Robotics
Hướng dẫn SSH vào Raspberry Pi Zero 2 W qua USB trên Windows

Hướng dẫn SSH vào Raspberry Pi Zero 2 W qua USB trên Windows

Hướng dẫn này giúp kết nối Raspberry Pi Zero 2 W trực tiếp với máy tính Windows qua một sợi cáp USB để SSH mà không cần màn hình hoặc Wi-Fi.

Cách kết nối này phù hợp khi cần:

  • Cấu hình Raspberry Pi ở chế độ headless.
  • Truyền file trực tiếp giữa Windows và Raspberry Pi.
  • Theo dõi log và sửa lỗi ngay cả khi Wi-Fi bị ngắt.
  • Giữ kết nối SSH khi wlan0 được chuyển sang chế độ Access Point.

Chuẩn bị

Cần có:

  • Raspberry Pi Zero 2 W.
  • Raspberry Pi OS Trixie.
  • Cáp micro-USB có hỗ trợ truyền dữ liệu.
  • Raspberry Pi đang tạm thời truy cập được qua Wi-Fi để cài đặt ban đầu.

Trên Raspberry Pi Zero 2 W có hai cổng micro-USB. Cổng PWR IN chỉ dùng để cấp nguồn, còn cổng USB gần mini-HDMI hỗ trợ cả nguồn và dữ liệu. Khi kết nối với Windows, cần sử dụng cổng USB.

Thiết lập USB SSH trên Raspberry Pi

Trước tiên, kiểm tra phiên bản hệ điều hành:

grep VERSION_CODENAME /etc/os-release

Kết quả nên là:

VERSION_CODENAME=trixie # Nếu không ra output này, hướng dẫn này không phù hợp

Bật SSH:

sudo systemctl enable --now ssh

Cài USB Gadget:

sudo apt update
sudo apt install -y rpi-usb-gadget
sudo rpi-usb-gadget on
sudo reboot

Nếu APT không tìm thấy package, tải file .deb mới nhất tại:

https://github.com/raspberrypi/rpi-usb-gadget/releases (opens in a new tab)

Sau đó chép file vào Raspberry Pi và cài:

sudo apt install ./rpi-usb-gadget*.deb
sudo rpi-usb-gadget on
sudo reboot

Khi sử dụng package rpi-usb-gadget, không cần tự sửa config.txt hoặc cmdline.txt theo cách cũ với dtoverlay=dwc2 và g_ether.

Cài driver USB trên Windows

Tải driver Windows tại (Nếu bạn sử dụng các hệ điều hành khác có thể tham khảo các file tương ứng):

https://github.com/raspberrypi/rpi-usb-gadget/releases (opens in a new tab)

Chạy file:

rpi-usb-gadget-driver-setup.exe

bằng quyền Administrator.

Sau khi cài driver, cắm cáp vào cổng USB của Raspberry Pi Zero 2 W và cắm đầu còn lại trực tiếp vào máy tính Windows.

Mở Device Manager và kiểm tra trong mục Network adapters. Nếu nhận đúng, Windows sẽ hiển thị thiết bị gần giống:

Raspberry Pi USB Remote NDIS Network Device

Kiểm tra kết nối USB

Mở PowerShell hoặc Command Prompt và chạy:

ping 10.12.194.1

Nếu nhận được phản hồi, kết nối mạng qua USB đã hoạt động.

Ở bước này chưa nên bật Internet Connection Sharing để tránh làm thay đổi địa chỉ IP mặc định của Raspberry Pi.

Cài MobaXterm

Tải MobaXterm tại:

https://mobaxterm.mobatek.net/download.html (opens in a new tab)

Chọn Home Edition, sau đó chọn Installer Edition và cài như một ứng dụng Windows thông thường.

SSH vào Raspberry Pi bằng MobaXterm

Mở MobaXterm, chọn Session, sau đó chọn SSH.

Nhập các thông tin:

Remote host: 10.12.194.1
Port: 22

Đánh dấu Specify username và nhập username đã tạo trên Raspberry Pi.

Nhấn OK, sau đó nhập mật khẩu Raspberry Pi.

Khi kết nối thành công, MobaXterm sẽ mở terminal SSH. Trình duyệt SFTP ở bên trái cho phép kéo thả file trực tiếp giữa Windows và Raspberry Pi.

Sử dụng kết nối USB để kiểm tra Wi-Fi Portal

Khi đã SSH qua USB, có thể ngắt Wi-Fi hoặc chuyển wlan0 sang Access Point mà không làm mất phiên SSH.

Nếu Windows không nhận Raspberry Pi, cần kiểm tra:

  • Đã cắm đúng cổng USB.
  • Cáp có hỗ trợ truyền dữ liệu.
  • Driver RNDIS đã được cài bằng quyền Administrator.
  • Không sử dụng hub USB trong lần thiết lập đầu tiên.

Nếu ping được nhưng SSH báo Connection refused, bật lại SSH:

sudo systemctl enable --now ssh

Nếu không thấy interface usb0, bật lại USB Gadget:

sudo rpi-usb-gadget on
sudo reboot

Sau khi SSH qua 10.12.194.1 hoạt động ổn định, mới nên cấu hình Internet Connection Sharing nếu cần chia sẻ Internet từ Windows sang Raspberry Pi.

Bình luận & Cảm xúc