Chuẩn bị cho ssh không có màn hình


155

Tôi có Raspberry Pi model B ở nhà, nhưng tôi không có màn hình. Kế hoạch của tôi là kết nối nó với Ethernet và sau đó ssh vào nó. Nhưng điều này có nghĩa là thẻ SD với hệ điều hành (Debian Squeeze) phải được chuẩn bị trước. Tôi thấy hai cách:

  1. Chuẩn bị SD với HĐH sao cho RPi luôn kết nối với Ethernet theo địa chỉ IP cố định và cho phép máy chủ SSH.

  2. Chuẩn bị SD với HĐH sao cho RPi kết nối với mạng, kích hoạt máy chủ SSH và sau đó phát địa chỉ IP của nó để tôi có thể ssh vào nó.

Những cách này là dễ dàng hơn? Và làm thế nào để tôi làm điều đó? Có những cách khác?

Tôi có các công cụ sau: Ubuntu 10.4, MacOS 10.5, Windows 7, nhưng chỉ Ubuntu có máy đọc thẻ. Thật không may, tôi không thể truy cập bảng DHCP của bộ định tuyến, nó hoàn toàn đóng.


5
Hữu ích sang một bên - RasPi không khởi động tự nhiên (ít nhất là Debian) khi bật SSH. Bạn cần sửa đổi một tệp trong / boot / có tên SSH để khởi động. Tôi biết điều này không trả lời câu hỏi của bạn nhưng nó có thể là trở ngại tiếp theo :)
George Pearce

1
Tôi không cảm thấy điều này xứng đáng là một câu trả lời nhưng bạn có thể thử một công cụ quét cổng.
ian.shaun.thomas

10
@iampearce: Trong phiên bản beta khò khè, ssh hiện có vẻ được bật theo mặc định.
Jon Egerton

5
Hiện tại khò khè đã bật SSH cho mỗi mặc định. Nếu bạn có một máy chủ DHCP trong mạng của mình, nó sẽ hoạt động tốt.
Sentry

1
Tôi đã đoán được tất cả các câu trả lời bạn cần. Tôi chỉ muốn thêm cách tìm kiếm Pis trong mạng của mình. Tôi thường có nhiều hơn một, và thậm chí nhiều máy hơn với cổng 22 mở. nmap -sP 192.168.0.0/24 | grep Pi -B 2
cee

Câu trả lời:


70

Để bật ssh khi khởi động, hãy sao lưu boot.rctrên phân vùng khởi động trên ảnh SD và thay thế bằngboot_enable_ssh.rc

Tôi không biết về bộ định tuyến của mình, nhưng bạn có thể định cấu hình nó để dành một địa chỉ IP cố định cho địa chỉ MAC của Pi.


3
Ssh đã được cài đặt trên hình ảnh Bóp Debian được cung cấp bởi nền tảng chưa?
Đến

1
@TillB, nó được cài đặt trong hình ảnh được cung cấp, nhưng nó phải được khởi động thủ công.
vây

1
ok, phân vùng khởi động là gì? Tôi có một cái chứa hệ thống tệp, một phân vùng trao đổi và một phân vùng chứa tệp start.elf và các tệp khác. Ngoài ra còn có boot_enable_ssh.rc, nhưng không có boot.rc. Tôi đổi tên nó thành boot.rc và khởi động. Tôi tìm thấy RPi trong mạng (ít nhất tôi cho rằng đó là Pi), nhưng ssh đã bị đóng.
Đến

1
Bạn có chắc là như vậy không. Của tôi hoạt động bằng cách đổi tên TO boot.rc, như được tìm thấy trong raspberrypi.stackexchange.com/questions/606/
David Sykes

5
Tôi đã khởi động hình ảnh 2012-09-18-wheezy-raspbian.img trên Raspberry Pi không đầu mới, nó tự động khởi động sshd và tự cấu hình bằng DHCP.
số

52
  1. Sao chép boot_enable_ssh.rcđến boot.rctừ /boottrong Raspberry Pi rootfs(thẻ SD)

  2. Vẫn trong Raspberry Pi rootfs, chỉnh sửa /etc/network/interfacesđể có địa chỉ IP cố định được chỉ định (vì vậy không cần máy chủ DHCP ). Ví dụ,

    auto lo eth0
    iface lo inet loopback
    iface eth0 inet static
        address 192.168.0.202
        netmask 255.255.255.0
        gateway 192.168.0.200
    
  3. Khởi động Raspberry Pi của bạn, sử dụng cáp Ethernet để kết nối nó với cùng một mạng mà PC của bạn được kết nối (hoặc kết nối trực tiếp với PC của bạn) và đăng nhập qua SSH:

    ssh pi@192.168.0.202
    
  4. Cài đặt máy chủ VNC nhẹ trong Raspberry Pi của bạn:

    sudo apt-get install tightvncserver
    
  5. Sau đó khởi động máy chủ VNC (bạn sẽ được yêu cầu đặt mật khẩu):

    vncserver :1 -name RasPi -depth 16 -geometry 1024x768
    
  6. Cài đặt ứng dụng khách VNC trong PC của bạn:

    apt-get install xtightvncviewer
    
  7. Sau đó kết nối với Raspberry Pi qua VNC từ PC của bạn:

    xtightvncviewer 192.168.0.202:1
    

Nó chỉ hoạt động ở đây theo cách đó :)


2
FWIW: OP đã hỏi về ssh - không phải về X hay VNC.
Brad

tôi đã sử dụng cấu hình raspberrypi_defconfig trong BUILDROOT để gắn hệ điều hành trên pi ... Không có tệp boot.rc trong thư mục khởi động !!! tôi có thể làm gì ?
Quái thú

36

Không có boot_enable_ssh.rcthứ gì tồn tại trong các bản dựng Raspian hiện tại. Bạn khởi động, một menu đồ họa đẹp cung cấp cho bạn một số tùy chọn (bao gồm cả liệu SSHD có nên tải khi khởi động không) và sau đó loại bỏ bạn trên một dòng lệnh.

Thật tuyệt nếu ... bạn là người dùng đồ họa.

Nếu bạn không, bạn sẽ ở vị trí mà bạn phải chạy bên ngoài bằng cách nào đó update-rc.d. Tất cả điều này thực sự là tạo ra một liên kết tượng trưng đến /etc/init.d/...tập lệnh tại các điểm khác nhau trong /etc/rc{0..6}.d/...hệ thống tập tin. Bối rối? Đừng bận tâm - làm thiệt hại là đơn giản.

  1. Tôi giả sử bạn đang làm điều này từ máy tính Linux. Ít nhất một cái gì đó bằng cách sử dụng bash, hoặc một cái gì đó tương thích. Những gì tôi đề xuất sẽ không hoạt động từ Windows mà không có Cygwin (hoặc người khác). Gắn thẻ SD và cdvào nó.

  2. Chạy:

    for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  3. Ngắt kết nối và khởi động. Bạn nên có quyền truy cập vào nó qua SSH.

Nếu bạn đang vật lộn để tìm thấy nó trên mạng của bạn ...

Ba lựa chọn cho bạn:

  • Sử dụng quản trị viên của bộ định tuyến của bạn để tìm thấy nó. Netgear đặc biệt giỏi trong việc hiển thị "Thiết bị đính kèm".
  • Cắm màn hình vào và chạy ifconfig(gian lận!)
  • Sử dụng nmaptrên một máy tính khác để quét cho nó. Bạn nên biết IP của nó đại khái là gì (đến a / 24) để quét rất đơn giản:

    sudo nmap -sV --open 192.168.0.0/24  -p22
    

1
Không sử dụng nmap cho việc này, bạn có thể ping địa chỉ quảng bá và kiểm tra bảng ARP.
Tamara Wijsman

@TomWijsman Ý bạn là chạy ping -b 192.168.0hay tương đương? Tôi không chắc khả năng này như thế nào vì tôi vừa thử nghiệm điều này trên hai bộ định tuyến mà không thành công. Có vẻ như thường bị chặn.
Oli

1
@Oli: Không, đó là hạt nhân của bạn không thu thập tất cả các phản hồi ARP, việc kiểm tra mọi gói tin đến để xem MAC của nó đã có trong bộ đệm ARP chưa, đó là lý do tại sao điều này không luôn hoạt động trên Linux, nếu Tôi biết làm thế nào để cấu hình này; nhưng ví dụ này chỉ hoạt động tốt trên Windows và Mac OS X ...
Tamara Wijsman

@Oli: Một sự thay thế khả thi nếu hệ thống của bạn không thể làm điều này là arping; nó thực hiện những gì các lệnh ping và arp riêng biệt sẽ áp đặt, nhưng sau đó không làm ngập mạng với các gói ICMP.
Tamara Wijsman

2
@nornagon: arp -akhông tự làm điều này.
Tamara Wijsman

21

Nếu bạn sử dụng bản phân phối Arch Linux , bạn chỉ cần cắm nó vào và đợi nó nhận địa chỉ từ máy chủ DHCP . Sau đó, bạn có thể kiểm tra trạng thái của DHCP (bằng cách kết nối với bộ định tuyến của bạn) và lấy địa chỉ IP từ danh sách khách hàng được kết nối. Nếu thất bại, bạn có thể sử dụng nmaphoặc các công cụ tương tự để quét toàn bộ mạng con cho cổng mở 22 (SSH được bật theo mặc định).


oh, quên thêm: Tôi không thể truy cập bộ định tuyến của mình (nó được cung cấp bởi công ty của tôi và hoàn toàn đóng). Bạn đang nói rằng trên Arch ssh luôn được bật? Debian thì sao?
Đến

Tôi nghĩ rằng chỉ Arch đi kèm với SSHd được kích hoạt trước.

5
Debian không có SSH được bật theo mặc định.
Steve Robillard

4
Cho đến nay, mọi bản phân phối tôi đã cài đặt trên Pi của tôi đều được bật SSH theo mặc định. Không nói điều này luôn luôn như vậy, nhưng nó đã được cho tôi.
DaveJohnston

14

Sau các cuộc tấn công botnet lớn vào năm 2016 do các thiết bị IoT dễ dàng bị hack bằng mật khẩu mặc định, Raspbian một lần nữa đi kèm với SSH bị tắt theo mặc định ( nguồn ).

Việc khắc phục khá dễ dàng, bạn chỉ cần tạo một tệp trong boot phân vùng (không phải thư mục trong hệ thống tệp gốc) được gọi ssh. Để kiểm tra xem bạn có ở đúng phân vùng không, nó cần có một tệp có tên start.elf.

Đừng quên thay đổi mật khẩu của bạn sau!

Để tìm Pi của tôi trên mạng tôi đã sử dụng sudo arp-scan -l, mặc dù sudo nmap -sS --open -O 192.168.1.0/24cũng là một tùy chọn hợp lệ, nhưng chậm hơn.


Bài đăng của bạn được đề cập để tạo tên tệp "start.elf", trong khi URL nguồn được đề cập để tạo tên tệp "SSH" hãy xem: 'Nếu bạn muốn bật SSH, tất cả những gì bạn cần làm là đặt một tệp có tên ssh vào thư mục / boot /. ' bạn có thể xem lại bài viết không?
BastianW

Rất tiếc, tôi đã hơi vội vàng khi viết câu trả lời, cảm ơn vì đã xác định được điểm nhầm lẫn đó
raphael

13

Sử dụng hình ảnh beta Debian 7 (Wheezy), SSH được cài đặt và bật theo mặc định. Bạn chỉ cần kết nối với nó thông qua địa chỉ IP của nó.

Có một số cách để tìm ra địa chỉ IP mà Raspberry Pi đang bật mà không phải chạy ifconfigtrực tiếp trên nó, ví dụ:

  • Các trang cấu hình bộ định tuyến của bạn có thể có màn hình ghi địa chỉ IP cho các máy được kết nối
  • Hầu hết các điện thoại thông minh có máy quét mạng Wi-Fi miễn phí sẽ hiển thị các thiết bị được kết nối với mạng.

Nó không được bật trên hình ảnh MY Debian Wheezy theo mặc định ... :(
Matt

@Matt: Bạn có chắc không? - tiêu chuẩn mà tôi đã tải xuống trở lại khi bật nó lên.
Jon Egerton

Tôi nghĩ vậy. Tôi vừa thử lại sáng nay (với hình ảnh mới nhất). Có thể tôi đã bỏ lỡ một cái gì đó, nhưng tôi nhớ làm điều này một vài lần bây giờ.
Matt

Dường như không áp dụng vào năm 2017
raphael

11

Cách dễ dàng (nếu bạn chỉ có một bàn phím)

SSH không được bật theo mặc định trong Debian Wheezy (Raspbian). Ngày xửa ngày xưa, SSH chắc chắn không được kích hoạt trên các hình ảnh Raspbian của tôi. Rõ ràng SSH được bật theo mặc định ngay bây giờ. Nhưng nếu không và bạn bị mắc kẹt, hãy đọc tiếp:

Kích hoạt nó rất đơn giản, đơn giản hơn nhiều so với hầu hết các câu trả lời tôi đã thấy ở đây, nếu bạn có bàn phím USB:

  1. Cắm bàn phím và khởi động RPi. Lưu ý bố cục bàn phím mặc định sẽ là bố cục QWERTY US tiêu chuẩn , do đó, hãy chú ý đến chữ "Y" và "Z" của bạn, và "-" s và "/" của bạn.
  2. Đợi một chút, sau đó nhập "pi", nhấn Enter, sau đó "mâm xôi" và nhấn enter.
  3. Kích hoạt SSH với:

    sudo /etc/init.d/ssh start
    
  4. sudoNhập mật khẩu "mâm xôi" một lần nữa chỉ trong trường hợp, vì đó là một lệnh và nhấn Enter.

Bây giờ bạn có thể điều khiển từ xa vào RPi bằng địa chỉ IP của nó trên mạng của bạn.

Như Denis Mitropolskiy đã đề cập , tiện ích cấu hình giúp dễ dàng định cấu hình SSH tại thời điểm này:

sudo raspi-config

Chỉ cần vào tùy chọn "ssh". May mắn thay, điều này hoạt động trong một phiên SSH, vì vậy lệnh duy nhất bạn cần để chạy "một cách mù quáng" là lệnh đầu tiên ở trên.


1
Câu trả lời tuyệt vời, tuy nhiên có vẻ như ssh có thể được kích hoạt trên các thẻ SD gần đây hơn với tàu Pi. Đặt hàng của tôi tuần trước và ssh chỉ làm việc ra khỏi hộp!
cá nóc

Họ giao hàng bằng thẻ SD bây giờ? Bạn đã đặt hàng của bạn ở đâu? Đó là tin tốt, mặc dù. Tôi đã nghĩ đến việc nâng cấp lên mô hình B.
Matt

4
Chỉ là một nhận xét cho giải pháp mù quáng này : Tôi không có bàn phím tiếng Anh "bản địa" (đó là dịch vụ!), Vì vậy, nếu không có cấu hình bàn phím raspi-config hoặc dpkg-cấu hình lại, bàn phím USB của tôi sẽ gửi 'z' thay vì 'y', mà không ảnh hưởng đến đăng nhập mật khẩu . Vấn đề tương tự cũng có thể tồn tại trên các bàn phím không phải tiếng Anh khác! Bạn có thể kiểm tra các ký tự tiếng Anh mặc định trong Windows khi chuyển cài đặt bàn phím / thanh ngôn ngữ từ 'ngôn ngữ của bạn' -> 'EN' trên thanh tác vụ.
TomiL

3
@TomiL: điểm tốt. Trên bàn phím tiếng Đức 'Z' và 'Y' cũng được hoán đổi.
Peter Mortensen

1
Điều này hoạt động tốt nhất bây giờ, jessie Raspbian mới nhất đã bật ssh theo mặc định với tên người dùng / mật khẩu pi / mâm xôi
redDevil

5

Không thể nói liệu SSH có hoạt động tốt hay không, nhưng phiên bản tiện ích cấu hình mới nhất có lệnh "Bật SSH". Sau đó tôi đã có thể kết nối với Raspberry của mình qua mạng. Nhưng để kích hoạt nó, bạn vẫn cần một màn hình.


1
Đây là cách dễ nhất. Bạn thậm chí không cần một màn hình để kích hoạt nó nếu bạn có bàn phím. Nó chỉ mất một lệnh mà bạn có thể chạy một cách mù quáng.
Matt

5

Một cảnh báo: Với Arch Linux , điều này chỉ hoạt động với tôi nếu tôi đã kết nối Ethernet trước khi khởi động Raspberry Pi (và sau đó nó hoạt động tốt: sshd được bật theo mặc định). Nếu tôi khởi động lần đầu, sau đó kết nối cáp Ethernet, Raspberry Pi không bao giờ liên lạc với máy chủ DHCP để lấy địa chỉ IP.


4

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à sshtệ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:

nhập mô tả hình ảnh ở đây

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:

  1. + đăng nhập (Thêm kết nối mới)
  2. Ethernet
  3. Tạo nên
  4. Cài đặt IPv4
  5. Phương pháp: Được chia sẻ với các máy tính khác
  6. Đặt tên tốt cho nó
  7. Lưu lại

nhập mô tả hình ảnh ở đây

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, "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.txttệ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.txtlà 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:

nhập mô tả hình ảnh ở đây

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


3

Nếu bạn sử dụng Debian, thì thật dễ dàng nếu bạn có thể cho mượn màn hình và mạng cho RPi của mình chỉ trong vài phút từ một người bạn. Nếu không, bạn chỉ có thể kiểm tra các lệnh cho 'nmap' và 'ssh' từ máy chủ Ubuntu của mình.

Chỉ cần kiểm tra xem gói openssh-server đã được cài đặt chưa, và bạn đã sẵn sàng. Bạn làm điều đó từ dòng lệnh với aptitude install openssh-server. Bạn cũng có thể kiểm tra hoặc đổi tên RPi khi bạn đăng nhập vào máy. Bạn cũng có thể kiểm tra xem gói avahi-utilsvà đã avahi-daemonđược cài đặt chưa, chỉ cần thử aptitude install avahi-utils.

Gói / chương trình avahi sẽ triển khai ứng dụng mDNS / DNS-SD của Apples sẽ tự thông báo cho các máy tính khác sử dụng protocoll đó như một máy tính trong miền DNS local. Vì vậy, nếu máy của bạn được gọi rpi-machine, hãy thử kết nối với máy rpi-machine.local.

Bạn có thể kiểm tra trong tệp /etc/nsswitch.confđể xem nếu bạn có dòng này ở đó:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Cả máy Apple và Ubuntu của bạn nên thực hiện điều này. Máy MS Windows 7 của bạn không làm điều đó mặc dù. Trên máy Ubuntu, bạn có thể thử lệnh này:

avahi-browse --all

hoặc là

avahi-browse _ssh._tcp

Sau đó, bạn sẽ nhận được tất cả các máy và dịch vụ của họ, như SSH và HTTP được liệt kê.

Bạn cũng có thể thử cài đặt gói nmaptrong máy Ubuntu của mình. Sau đó, bạn có thể kiểm tra mạng nào bạn đang truy cập bằng lệnh ip route listđể xem bạn đang truy cập mạng IP nào. Ví dụ: trên máy của tôi, tôi có thể nhận được một cái gì đó như thế này (đây là từ example.com, vì vậy đừng sử dụng nó):

192.0.43.0/24 dev eth0  proto kernel  scope link  src 192.0.43.1  metric 1

nói với tôi rằng tôi đang ở trên mạng 192.0.43.0/24và bộ định tuyến 192.0.43.1. Vì vậy, nếu bạn chạy lệnh nmap 192.0.43.0/24sẽ cố gắng tìm tất cả các máy trong mạng của bạn và cho biết cổng nào đang mở. Hãy tìm cổng 22/tcp, vì đó là các máy chủ ssh.


3

Tôi đã quản lý để thiết lập Raspberry PI của mình mà không cần Màn hình hoặc Bàn phím bằng các bước sau:

  1. Tải về hình ảnh mới nhất của debian-pi / raspbian-ua-netinst . Một trong những hiện tại là raspbian-ua-netinst-v1.0.7.img.bz2. Các tập tin tải về chỉ khoảng 17 MB.

  2. Tải xuống " Ứng dụng Apple Pi Baker " và sử dụng phần mềm này để chuyển hình ảnh vào Thẻ SD của bạn

    ApplePiBaker

  3. Lắp Thẻ SD vào PI của bạn và sau khoảng 15 phút, Raspbian mới nhất sẽ được cài đặt.

  4. Sử dụng ứng dụng Finger iPhone tôi đã phát hiện ra IP của PI, trong trường hợp của tôi 192.168.1.13.

    IP

  5. Bây giờ tôi có thể SSH tới IP đó như vậy:

    # Password = raspbian
    ssh root@192.168.1.13 
    

Và Voila tôi có quyền truy cập thông qua SSH mà không cần cấu hình tẻ nhạt.

FYI: raspbian-ua-netinstcung cấp cấu hình nâng cao hơn, vì vậy hãy kiểm tra Readme nếu bạn muốn điều chỉnh một số cài đặt ban đầu.

truy cập ssh


2

Một trong những cách tốt nhất để kết nối sau cấu hình ban đầu là khởi động avahi-daemon và chạy trên Raspberry Pi.

Khi bạn đã cài đặt avahi-daemon trên Raspberry Pi và Bonjour trên máy tính chủ, bạn chỉ cần đăng nhập bằng raspberrypi.local làm tên máy chủ. Vì vậy, không cần phải cấu hình địa chỉ IP , dù là tĩnh hay động.

Để cài đặt avahi-daemon trên Raspberry Pi:

sudo apt-get update
sudo apt-get install libnss-mdns

Và nếu bạn đã cài đặt iTunes trên máy chủ, thì chỉ cần nhập raspberrypi.local vào PuTTY , nếu không thì cài đặt Bonjour từ đây . Kiểm tra hướng dẫn này để biết thêm thông tin.


2

Bạn có thể muốn raspbian-ua-netinstdùng thử: bạn có thể tìm thấy nó bằng cách nhấp vào đây Đó là trình cài đặt mạng không có giám sát Raspbian tối thiểu cho Raspberry Pi Model 1B, 1B + và 2B. Không cần màn hình hoặc bàn phím. Họ có một hướng dẫn cài đặt tuyệt vời trong README.md.

Về cơ bản, bạn chỉ cần định dạng FAT một thẻ SD. Giải nén bản phát hành ổn định mới nhất vào nó và lắp thẻ SD vào Raspberry Pi của bạn. Mất khoảng 20 đến 30 phút để cài đặt một bản cài đặt Raspbian tối thiểu và sau đó bạn vẫn ổn. Đi kèm với SSH được cài đặt theo mặc định. Có một số tùy chọn cho phép bạn cài đặt các gói và công cụ bổ sung trong quá trình cài đặt ban đầu. Bạn cũng có thể thêm các gói sau, rõ ràng.


2

Đối với Raspbian, tôi thấy hướng dẫn này rất hữu ích. Sau khi thực hiện các bước được mô tả trong đó, tôi đã có thể SSH từ máy tính xách tay Windows 10 của mình sang Raspberry PI bằng người dùng pivà mật khẩuraspberry .

Cụ thể hơn, đây là phần có liên quan:

  • Đảm bảo Raspberry Pi được tắt nguồn và tháo Thẻ SD.

  • Lắp thẻ SD vào đầu đọc thẻ và cắm nó vào máy tính xách tay của bạn.

  • Tìm ổ đĩa và bạn sẽ tìm thấy một số tệp trên Thẻ (lưu ý rằng nó nhỏ hơn rất nhiều so với bạn mong đợi vì đây chỉ là phần khởi động của Thẻ (phần còn lại bị ẩn)).

  • Tạo một bản sao của cmdline.txt và đổi tên thành cmdline.n normal

  • Chỉnh sửa cmdline.txt và thêm địa chỉ IP ở cuối (đảm bảo bạn không thêm bất kỳ dòng nào).

Đối với cài đặt mạng có địa chỉ IP được lấy tự động, hãy sử dụng một địa chỉ trong phạm vi 169.254.XX (169.254.0.0 - 169.254.255.255):

ip=169.254.0.2

Đối với cài đặt mạng có địa chỉ IP được cố định, hãy sử dụng địa chỉ khớp với địa chỉ máy tính xách tay / máy tính ngoại trừ chữ số cuối cùng.

ip=192.168.0.2

Đảm bảo bạn lưu ý địa chỉ IP này (bạn sẽ cần nó mỗi khi bạn muốn kết nối trực tiếp với Raspberry Pi).

  • Tạo bản sao mới của cmdline.txt và đổi tên thành cmdline.direct

  • Để trao đổi giữa các cấu hình, chỉ cần thay cmdline.txt bằng cmdline.n normal hoặc cmdline.direct (hoặc sử dụng các lệnh trong Tùy chọn 2 để thực hiện trực tiếp trên Raspberry Pi - thay đổi sẽ có hiệu lực vào lần tới khi bạn bật nguồn)

  • Trả lại thẻ cho Raspberry Pi. Gắn cáp mạng được gắn vào cả máy tính và Raspberry Pi và bật nguồn.

LƯU Ý NHỮNG ĐIỀU DƯỚI ĐÂY:

  • Bạn sẽ cần đợi máy tính hoàn tất việc phát hiện các cài đặt mạng (bạn có thể thấy một biểu tượng mạng nhỏ nhấp nháy trong khay hệ thống của mình trong khi thực hiện hoặc mở cài đặt mạng để xem khi nào kết thúc và có địa chỉ IP) - nó có thể mất khoảng 1/2 phút. Máy tính của bạn có thể báo cáo kết nối là giới hạn hoặc không có kết nối, khi được kết nối với Raspberry Pi theo cách này, điều này là bình thường vì nó là máy tính trực tiếp kết nối với máy tính chứ không phải là một mạng tiêu chuẩn.

  • Nếu bạn quên hoặc quyết định không cắm cáp mạng, Raspberry Pi sẽ đợi 2 phút (hoặc cho đến khi bạn kết nối cáp) trước khi hoàn thành khởi động (vì vậy nếu bạn chỉ có bàn phím và màn hình đi kèm, bạn cần đợi !).

  • Nếu bạn đang sử dụng nhiều bộ điều hợp mạng có dây (tức là sử dụng thêm USB-LAN dongle) trên máy tính, bạn có thể thấy bạn phải rút cáp mạng khác và gắn lại sau đó (máy Windows XP của tôi cần điều này trước khi nó kết nối qua liên kết trực tiếp ).


2

Vì tôi có một số Pis khác mà tôi có thể kết nối, tôi đã lừa dối.

Tôi lấy thẻ Micro SD ra khỏi Pi mà không cho phép tôi kết nối và đặt nó vào đầu đọc USB trên một trong những Pis đang hoạt động.

Sau đó tôi gắn nó vào một thư mục thử nghiệm ( sudo mount /dev/sda2 /mnt/test), sau đó chroot /mnt/testcoi nó như là vỏ mới.

Sau đó tôi đã kích hoạt SSH với systemctl enable ssh. Lấy thẻ ra sau khi ngắt kết nối, khởi động Pi, sau đó cổng SSH đã được mở và có thể truy cập.

Hoạt động trên Debian, tôi chắc chắn trên các systemdhệ thống kiểu khác .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.