Không có bộ định tuyến + không có màn hình + cáp Ethernet thông thường + RPI 2 + Raspbian Lite 2018-11-13 + máy chủ Ubuntu 18.10
Trước tiên, chúng tôi phải kích hoạt máy chủ SSH trên Pi, được tắt theo mặc định để bảo mật.
Nếu bạn đã có shell trên Pi thông qua phương thức không phải SSH như màn hình + bàn phím hoặc UART (xem bên dưới), chỉ cần chạy:
sudo systemctl enable ssh
sudo service sshd start
như đã giải thích tại: SSH không hoạt động với cài đặt mới Điều này vẫn tồn tại trên các bốt.
Nếu không, hãy chèn thẻ SD vào máy chủ của bạn và tạo một tệp trống có tên là ssh
tệp trong boot/
phân vùng.
Trên máy chủ Ubuntu, nó được gắn tự động và bạn có thể thực hiện:
sudo touch /media/$USER/boot/ssh
mà bạn có thể xác nhận với:
lsblk
trong đó có:
mmcblk0 179:0 0 14.4G 0 disk
├─mmcblk0p1 179:1 0 43.9M 0 part /media/ciro/boot
└─mmcblk0p2 179:2 0 14.4G 0 part /media/ciro/rootfs
Nếu bạn không bật trình nền SSHD trên Pi thì kết nối SSH sẽ thất bại với:
ssh: connect to host 10.42.0.160 port 22: Connection refused
khi chúng ta thử nó sau này
Sau khi kích hoạt máy chủ SSH
Tiếp theo, khởi động Pi và liên kết cáp Ethernet từ máy tính xách tay của bạn trực tiếp với Pi:
Trên Ubuntu 17.04 để khắc phục lỗi này như đã đề cập trong câu trả lời này trước tiên bạn cần:
sudo apt-get install dnsmasq-base
Trên máy chủ, mở trình quản lý mạng:
nm-connection-editor
Và đi:
+
đăng nhập (Thêm kết nối mới)
- Ethernet
- Tạo nên
- Cài đặt IPv4
- Phương pháp: Được chia sẻ với các máy tính khác
- Đặt tên tốt cho nó
- Lưu lại
Tìm IP của Pi trên máy chủ:
cat /var/lib/misc/dnsmasq.leases
xuất ra một cái gì đó như:
1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
10.42.0.160
là IP, như thường lệ:
ssh pi@10.42.0.160
Tôi cũng có những điều sau đây .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Từ bên trong Pi, lưu ý rằng nó có thể truy cập internet bình thường thông qua các giao diện khác của máy chủ của bạn:
ping google.com
Ví dụ: trên máy tính xách tay của tôi, Pi chiếm Ethernet, nhưng máy chủ cũng được kết nối với internet thông qua WiFi.
Không yêu cầu cáp chéo nếu card mạng máy chủ hỗ trợ Auto MDI-X . Đây là trường hợp đối với hầu hết các phần cứng gần đây, bao gồm cả Lenovo T430 2012 mà tôi đã thử nghiệm, có "Kết nối mạng Gigabit Intel® 82579LM", tài liệu hỗ trợ cho Auto MDI-X .
Bây giờ bạn cũng có thể:
Bộ chuyển đổi USB nối tiếp UART
Đây là một giải pháp thay thế cho SSH nếu bạn chỉ muốn lấy shell trên Pi: https://en.wikipedia.org/wiki/Serial_port
Điều này không sử dụng SSH hoặc mạng chính nó, mà là giao diện nối tiếp cũ hơn, đơn giản hơn, trực tiếp hơn, đáng tin cậy hơn, băng thông thấp hơn, khoảng cách thấp hơn. Pi sẽ không có quyền truy cập Internet bằng phương pháp này.
Máy tính để bàn vẫn có một cổng nối tiếp mà bạn có thể kết nối trực tiếp với dây với Pi, nhưng chúng được ẩn trong hầu hết các máy tính xách tay, và vì vậy chúng tôi cần mua một bộ chuyển đổi USB giá rẻ. Ở đây tôi đã sử dụng: https://www.amazon.co.uk/gp/product/B072K3Z3TL Xem thêm: https://unix.stackexchange.com/questions/307390/what-is-the-difference-b between- ttys0-ttyusb0-và-ttyama0-in-linux / 367882 # 367882
Đầu tiên cắm thẻ SD trên máy chủ và chỉnh sửa config.txt
tệp có trong phân vùng đầu tiên để thêm:
enable_uart=1
như được giải thích tại: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Phân vùng đầu tiên này chứa bộ nạp khởi động, các tệp cấu hình của nó và nhân (Linux / your), config.txt
là một trong số chúng. Phân vùng thứ hai chứa hệ thống tập tin gốc Linux thực tế.
Bây giờ kết nối máy tính của bạn với Pi dưới dạng:
Bạn chỉ cần gắn 3 dây cáp:
- Mặt đất
- Tx trên Pi đến Rx trên cổng USB sang nối tiếp
- Rx trên Pi đến Tx trên tye USB sang cổng nối tiếp
Điều này cũng được ghi nhận tại: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Cẩn thận không liên kết nối đất với 5V, tôi đã đốt 2 UART với chip USB bằng cách đó!
Bạn không cần phải kết nối 5V với 5V. Tôi nghĩ rằng bạn có thể cấp nguồn cho Pi của mình như vậy, nhưng tôi đã đọc rằng đây là một ý tưởng tồi, chỉ cần sử dụng nguồn năng lượng USB thông thường.
Cuối cùng, cắm mặt USB của đầu nối vào máy tính chủ của bạn và lấy vỏ với:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Thoát với Ctrl-A \
.
Đây là video do Adaf nhung thể hiện: https://www.youtube.com/watch?v=zUBPeoLW16Q