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 + Ubuntu 18.10
Đầu tiên, chúng ta phải kích hoạt máy chủ SSH trên Pi, máy chủ này được tắt theo mặc định để bảo mật.
Nếu bạn đã có một shell trên Pi thông qua một 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ư được giải thích tại: /raspberrypi/58478/ssh-not-working-with-fresh-install Điều này vẫn tồn tại trên các khởi động.
Nếu không, hãy lắp thẻ SD của anh ấy vào máy chủ của bạn và tạo một tệp trống kỳ diệu có tên ssh
tệp trong boot/
phân vùng.
Trên máy chủ Ubuntu, nó được tự động gắn kết và bạn chỉ có thể làm:
sudo touch /media/$USER/boot/ssh
mà bạn có thể xác nhận:
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ẽ không thành công với:
ssh: connect to host 10.42.0.160 port 22: Connection refused
khi chúng tôi thử nó sau này.
Sau khi bậ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:
+
ký (Thêm một kết nối mới)
- Ethernet
- Tạo nên
- Cài đặt IPv4
- Phương thức: Chia sẻ cho các máy tính khác
- Đặt một cái tên hay cho nó
- Tiết kiệm
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, sau đó như thường lệ:
ssh pi@10.42.0.160
Tôi cũng có những thứ sau trong của tôi .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Từ bên trong Pi, hãy 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 sử dụng Ethernet, nhưng máy chủ cũng được kết nối với internet thông qua WiFi.
Không cần cáp chéo nếu card mạng chủ hỗ trợ Auto MDI-X . Đây là trường hợp cho phần cứng gần đây nhất, bao gồm ví dụ như Lenovo T430 2012 mà tôi đã thử nghiệm, có "Intel® 82579LM Gigabit Network Connection" hỗ trợ 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 một trình bao trên Pi: https://en.wikipedia.org/wiki/Serial_port
Điều này không sử dụng SSH hoặc chính mạng, 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 thể 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 dây với dây với Pi, nhưng những cổng này bị ẩn trong hầu hết các máy tính xách tay, và vì vậy chúng ta 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: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Đầu tiên hãy 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à hạt 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 gốc Linux thực tế.
Bây giờ kết nối máy tính của bạn với Pi bằng:
Bạn chỉ cần gắn 3 dây cáp:
- Ground to Ground
- Tx trên Pi đến Rx trên cổng nối tiếp USB
- Rx trên Pi sang Tx trên cổng nối tiếp USB
Điều này cũng được ghi lại tại: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Hãy cẩn thận không liên kết Ground với 5V, tôi đã ghi 2 chip UART sang USB và RPI UART bằng cách làm điều đó!
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 điện 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à nhận một vỏ có:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Thoát với Ctrl-A \
.
Đây là video của Adafruit hiển thị nó: https://www.youtube.com/watch?v=zUBPeoLW16Q
Xem thêm
Câu hỏi tương tự trên RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection