Nội dung
Trong bài viết này, mình sẽ trình bày cách để cấu hình Raspberry Pi mà không cần chuột, bàn phím và màn hình, chúng ta có thể gọi nó là Raspberry Pi không đầu (headless Raspberry pi).
Chuẩn bị
Để cấu hình Raspberry Pi không đầu, cần chuẩn bị:
- Raspberry Pi đã được cài đặt hệ điều hành Raspberry Pi OS.
- Thẻ nhớ hoặc USB đã cài đặt Raspberry Pi OS.
- Nếu dùng thẻ nhớ thì bạn nên chuẩn bị thêm đầu đọc thẻ nhớ.
- Máy tính.
- Phần mềm nmap.
Tiến hành
Trong ví dụ này, mình dùng:
- Raspberry Pi 3B+.
- Hệ điều hành “Raspberry Pi OS with desktop”:
- System: 32-bit.
- Kernel version: 5.10.
- Debian version: 11 (bullseye).
- USB 32GB để chứa hệ điều hành.
Cấu hình wifi
Cắm USB hoặc thẻ nhớ đã cài đặt hệ điều hành Raspberry Pi OS vào máy tính.
Vào phân vùng boot trên thẻ nhớ hoặc USB, tạo tệp mới có tên là “wpa_supplicant.conf”, sau đó thêm nội dung sau vào tệp vừa tạo:
interface_ctrl=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network = {
ssid=”ten wifi”
psk=”mat khau wifi”
}
Cấu hình ssh
Vẫn trong phân vùng boot, tiếp tục tạo một tệp mới có tên là ssh. Tệp này sẽ cho phép chúng ta ssh vào Raspberry Pi khi khởi động.
Lưu ý, tệp ssh không có định dạng nào cả, nếu bạn tạo tệp có tên là ssh.txt thì bạn sẽ không bật được chế độ ssh.
Cấp nguồn cho Raspberry Pi và tìm địa chỉ IP
Sau khi cấu hình wifi và ssh, các bạn rút thẻ nhớ hoặc USB ra khỏi máy tính. Sau đó, cắm lại thẻ nhớ hoặc USB vào Raspberry Pi và cấp nguồn để khởi động Raspberry Pi.
Trên máy tính, kết nối vào mạng wifi mà bạn đã cấu hình cho Raspberry Pi, nghĩa là máy tính và Raspberry Pi phải cùng một lớp mạng.
Cài đặt phần mềm nmap, đây là một phần mềm quét mạng.
Mặc định, các dịch vụ ssh có cổng (port) là 22, cho nên chúng ta dùng nmap để tìm các xem địa chỉ IP nào đang mở cổng 22. Cú pháp:
nmap -p 22 <gateway>/<subnet mask>
Ví dụ: nmap -p 22 10.0.0.0/20
Sau khi quét, bạn sẽ thấy một danh sách các địa chỉ IP cùng với tình trạng cổng 22.
Kết
Ngoài phương pháp dùng nmap để lấy địa chỉ IP, còn có rất nhiều cách khác để lấy địa chỉ IP, mình sẽ tiếp tục chia sẻ trong các bài viết tiếp theo.