Подготовьтесь к ssh без экрана

У меня есть модель малины Pi B дома, но у меня нет экрана. Мой план - подключить его к Ethernet, а затем ssh. Но это означает, что сначала необходимо подготовить SD-карту с операционной системой (Squeeze Debian). Я вижу два пути:

  1. Подготовьте SD к ОС таким образом, чтобы RPi всегда подключался к Ethernet по фиксированному IP-адресу и включал SSH-сервер.

  2. Подготовьте SD к ОС, чтобы RPi подключился к сети, включил SSH-сервер, а затем передал свой IP-адрес, чтобы я мог ssh в него.

Какой из этих способов проще? И как мне это сделать? Существуют ли другие способы?

У меня есть следующие инструменты: Ubuntu 10.4, MacOS 10.5, Windows 7, но только Ubuntu имеет кардридер. К сожалению, я не могу получить доступ к таблице DHCP моего маршрутизатора, он полностью закрыт.

148 голосов | спросил Till B 13 J0000006Europe/Moscow 2012, 00:46:49

16 ответов


68

Чтобы включить ssh при запуске, выполните резервное копирование boot.rc в загрузочном разделе на SD-изображении и замените его на boot_enable_ssh.rc

Я не знаю о вашем маршрутизаторе, но вы можете настроить его для резервирования фиксированного IP-адреса для MAC-адреса вашего Pi.

ответил finnw 13 J0000006Europe/Moscow 2012, 15:13:10
51
  1. Скопируйте boot_enable_ssh.rc в boot.rc из /boot в корневом каталоге rootfs (SD-карта)

  2. В корневом каталоге rootfs

    /etc/network/interfaces
  3. Загрузите свой малиновый Pi, используйте кабель Ethernet, чтобы подключить его к той же сети, к которой подключен ваш компьютер (или подключить его непосредственно к компьютеру), и войти в систему через SSH:

    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
    
  4. Установите светлый VNC-сервер в свой малиновый Pi:

    ssh [email protected]
    
  5. Затем запустите сервер VNC (вам будет предложено установить пароль):

    sudo apt-get install tightvncserver
    
  6. Установите клиент VNC на свой ПК:

    vncserver :1 -name RasPi -depth 16 -geometry 1024x768
    
  7. Затем подключитесь к своей малиневой Pi через VNC с вашего ПК:

    apt-get install xtightvncviewer
    

Он просто работает здесь таким образом:)

ответил Tiago B. Vaz 27 J0000006Europe/Moscow 2012, 08:03:41
35

В текущих сборках Raspian отсутствует материал boot_enable_ssh.rc. Вы загружаетесь, красивое графическое меню предоставляет вам некоторые параметры (включая загрузку SSHD при загрузке), а затем выгружает вас в командной строке.

Это здорово, если ... вы графический пользователь.

Если вы этого не сделаете, вы останетесь в положении, когда вам нужно каким-то образом запустить update-rc.d. Все это действительно создает символическую ссылку на скрипт /etc/init.d/... в разных точках в /etc/rc{0..6}.d/.... Смущенный? Ничего! - Ущерб прост.

  1. Я предполагаю, что вы делаете это с Linux-компьютера. По крайней мере, что-то с помощью bash или что-то совместимое. То, что я предлагаю, не будет работать из Windows без Cygwin (или другого). Вставьте в него SD-карту и cd.

  2. Run:

    for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  3. Отключите и загрузите. Вы должны иметь доступ к нему через SSH.

Если вы пытаетесь найти его в своей сети ...

Три варианта для вас:

  • Используйте администратор вашего маршрутизатора, чтобы найти его. Netgear особенно хорошо демонстрирует «Прикрепленные устройства».
  • Подключите монитор и запустите ifconfig (обман!)
  • Используйте nmap на другом компьютере для сканирования. Вы должны знать, какой IP-адрес он имеет (до /24), поэтому сканирование прост:

    sudo nmap -sV --open 192.168.0.0/24  -p22
    
ответил Oli 24 AM00000040000000031 2012, 04:05:00
20

Если вы используете дистрибутив Arch Linux , вы просто подключаете его и ждете его получения его адрес назначен с сервера DHCP . Затем вы можете проверить статус DHCP (например, подключившись к вашему маршрутизатору) и получить IP-адрес из списка подключенных клиентов. Если это не удается, вы можете использовать nmap или аналогичные инструменты для сканирования всей подсети для открытого порта 22 (SSH включен по умолчанию).

ответил Tibor 13 J0000006Europe/Moscow 2012, 00:54:15
13

Используя бета-версию Debian 7 (Wheezy), SSH установлен и включен по умолчанию. Вам просто нужно подключиться к нему через свой IP-адрес.

Существует несколько способов определить, какой IP-адрес находится в Raspberry Pi, без необходимости запускать его ifconfig, например:

  • На страницах конфигурации вашего маршрутизатора может отображаться экран с указанием IP-адресов для подключенных машин.
  • У большинства смартфонов есть бесплатные сетевые сканеры Wi-Fi, которые будут отображать устройства, подключенные к сети.
ответил Jon Egerton 5 J000000Thursday12 2012, 15:18:32
10

Простой способ (если у вас есть только клавиатура)

SSH не включен по умолчанию в Debian Wheezy (Raspbian). Когда-то SSH был определенно не включен на мои изображения Raspbian. По-видимому, теперь SSH включен по умолчанию. Но если это не так, и вы застряли, прочитайте:

Включение этого очень просто, намного проще, чем большинство ответов, которые я видел здесь, если у вас есть USB-клавиатура:

  1. Подключите клавиатуру и загрузите RPi
  2. Подождите минуту, затем введите «pi», нажмите Enter, затем «малина» и нажмите enter.
  3. Включить SSH с помощью:

    sudo /etc/init.d/ssh start
    
  4. Введите пароль «raspberry» снова на всякий случай, так как это команда sudo и нажмите Enter.

Теперь вы можете удалять свой RPi своим IP-адресом в своей сети.

Как сказал Денис Митропольский , утилита конфигурации упрощает настройку SSH на данный момент:

sudo raspi-config

Просто перейдите к опции «ssh». К счастью, это работает в сеансе SSH, поэтому единственная команда, которую вам нужно запустить «вслепую», является первой, которая была выше.

ответил Matt 31 +04002012-10-31T18:06:33+04:00312012bEurope/MoscowWed, 31 Oct 2012 18:06:33 +0400 2012, 18:06:33
9

После массовых атак ботнета в 2016 году из-за того, что IoT-устройства легко взломали пароли по умолчанию, Raspbian снова поставляется с отключенным SSH по умолчанию ( ).

Исправление довольно простое, вам просто нужно создать файл в разделе boot (а не в корневой файловой системе) под названием ssh. Чтобы проверить, находится ли вы в нужном разделе, он должен иметь файл с именем start.elf.

Не забудьте изменить свой пароль после!

Чтобы найти мой Pi в моей сети, я использовал sudo arp-scan -l, хотя sudo nmap -sS --open -O 192.168.1.0/24 также действительный, но медленный вариант.

ответил raphael 3 FebruaryEurope/MoscowbFri, 03 Feb 2017 06:39:23 +0300000000amFri, 03 Feb 2017 06:39:23 +030017 2017, 06:39:23
5

Нельзя сказать, работает ли SSH из коробки, но последняя версия утилиты конфигурации имеет команду «Включить SSH». После этого я смог подключиться к моей малине через сеть. Но чтобы включить его, вам нужен монитор в любом случае.

ответил Denis Mitropolskiy 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 28 Sep 2012 09:47:39 +0400 2012, 09:47:39
5

Одно предостережение: Arch Linux , это сработало для меня, только если бы я подключился к сети Ethernet до загрузки Raspberry Pi (а затем он работал нормально: sshd был включен по умолчанию). Если я сначала загружаюсь, а затем подключаю кабель Ethernet, Raspberry Pi никогда не связывается с DHCP-сервером, чтобы получить IP-адрес.

ответил Marcel 29 42012vEurope/Moscow11bEurope/MoscowThu, 29 Nov 2012 05:24:20 +0400 2012, 05:24:20
3

Если вы используете Debian, то довольно легко, если вы можете предоставить экран и сеть для своего RPi всего несколько минут от друга. Если нет, вы можете просто проверить команды для «nmap» и «ssh» с вашего узла Ubuntu.

Просто убедитесь, что пакет openssh-server установлен, и вы в порядке. Вы делаете это из командной строки с помощью aptitude install openssh-server. Вы также можете проверить или переименовать RPi, когда вы вошли в систему. Вы также можете проверить, что пакет avahi-utils и avahi-daemon установлены, просто попробуйте aptitude install avahi-utils.

В пакете /программе avahi будет реализовано приложение apples protocoll mDNS /DNS-SD, которое объявит о себе на других компьютерах, которые используют этот протоколл в качестве компьютера в домене DNS local. Поэтому, если ваша машина называется rpi-machine, попробуйте подключиться к машине с помощью rpi-machine.local.

Вы можете проверить файл /etc/nsswitch.conf, чтобы увидеть, есть ли у вас эта строка:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Оба устройства Apple и Ubuntu должны реализовать это. Однако ваша машина MS Windows 7 этого не делает. На машине Ubuntu вы можете попробовать эту команду:

avahi-browse --all

или

avahi-browse _ssh._tcp

Затем вы должны получить все свои машины и их службы, такие как SSH и HTTP.

Вы также можете попробовать установить пакет nmap на свой компьютер Ubuntu. Затем вы можете проверить, в какой сети вы находитесь, с командой ip route list, чтобы узнать, в какой IP-сети вы находитесь. Например, на моей машине я мог бы получить что-то вроде этого (это из примера.com, поэтому не используйте его):

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

говорит мне, что я нахожусь в сети 192.0.43.0/24, а маршрутизатор - 192.0.43.1. Поэтому, если вы запустите команду nmap 192.0.43.0/24, она попытается найти все машины в вашей сети и сообщить, какие порты открыты. Посмотрите на порт 22/tcp, так как это ssh-серверы.

ответил Anders 21 J0000006Europe/Moscow 2012, 02:06:06
3

Мне удалось настроить свой малиновый PI без экрана или клавиатуры, выполнив следующие шаги:

  1. Загрузите последнее изображение debian-pi /raspbian-ua -netinst . Текущий код raspbian-ua-netinst-v1.0.7.img.bz2. Загруженный файл составляет всего около 17 МБ.

  2. Загрузите приложение Apple Pi Baker "и использовать это программное обеспечение для переноса изображения на карту SD

     ApplePiBaker

  3. Вставьте SD-карту в свой PI, и через 15 минут будет установлен последний Raspbian.

  4. Используя Fing iPhone App Я обнаружил IP-адрес PI, который в моем случае 192.168.1.13.

    IP

  5. Теперь я могу использовать SSH для этого IP-адреса так:

    # Password = raspbian
    ssh [email protected] 
    

И у Voila у меня есть доступ через SSH без утомительной конфигурации.

FYI: raspbian-ua-netinst предлагает более расширенную конфигурацию, поэтому ознакомьтесь с Readme, если вы хотите настроить некоторые из этих начальных настроек.

 ssh access

ответил Besi 7 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 07 Sep 2015 11:27:42 +0300 2015, 11:27:42
3

Нет маршрутизатора + обычный кабель Ethernet на RPI 2 Raspbian Jessie 2016-05-27 + хост Ubuntu 16.04 - 17.04

Это решение распределяет маршрутизатор и позволяет вам легко получить IP-адрес Pi.

Свяжите кабель Ethernet с ноутбуком непосредственно с Pi:

В Ubuntu 17.04 для работы эта ошибка как упоминалось в этом ответе вам сначала нужно:

sudo apt-get install dnsmasq-base

Затем откройте диспетчер сети:

nm-connection-editor

И идите:

  1. + (добавить новое соединение)
  2. Ethernet
  3. Создать
  4. Настройки IPv4
  5. Метод: общий доступ к другим компьютерам
  6. Установите для него хорошее имя.
  7. Сохранить

 введите описание изображения здесь>> </a> </p>

<p> Найти IP-адрес Pi на хосте: </p>

<pre><code>cat /var/lib/misc/dnsmasq.leases
</code></pre>

<p> выводит что-то вроде: </p>

<pre><code>1532204957 b8: 27: eb: 0c: 1f: 69 10.42.0.160 raspberrypi 01: b8: 27: eb: 0c: 1f: 69
</code></pre>

<p> <code>10.42.0.160</code> - это IP, как обычно: </p>

<pre><code>ssh pi@10.42.0.160
</code></pre>

<p> У меня также есть следующее в моем <code>.bashrc</code>: </p>

<pre><code>piip () (cat /var/lib/misc/dnsmasq.leases | cut -d '' -f 3;)
pissh () (sshpass -p raspberry ssh

Изнутри Pi обратите внимание, что он может нормально обращаться к Интернету через другие интерфейсы вашего хоста:

cat /var/lib/misc/dnsmasq.leases

Например, на моем ноутбуке Pi занимает Ethernet, но хост также подключен к Интернету через WiFi.

Кабель кроссовера не требуется, если сетевая карта хоста поддерживает Auto MDI-X . Это относится к самым последним аппаратным средствам, в том числе к тестируемому в 2012 году Lenovo T430 I, который имеет «Гигабитное сетевое соединение Intel® 82579LM», которое поддержка документов для Auto MDI-X .

Теперь вы также можете:

Это более сжатая версия: http: //www.interlockroc.org/2012/12/06/raspberry-pi-macgyver/, о котором говорилось: https : //raspberrypi.stackexchange.com/a/4294/33424

Последовательный порт USB

Еще одна альтернатива, если вы просто хотите получить оболочку на Pi, заключается в использовании последовательного кабеля .

Это не использует SSH или сама сеть, а скорее более старая, более простая, более прямая, более надежная, более низкая пропускная способность, последовательный интерфейс с меньшим расстоянием. Pi не будет иметь доступ к Интернету с помощью этого метода.

Вам просто нужен дешевый последовательный порт USB, как этот: https://thepihut.com/products/adafruit-usb-to-ttl-serial-cable-debug-console-cable-for-raspberry-pi

Затем вы присоединяете сокеты к соответствующим последовательным выводам GPIO (TX, RX, 5V и земля)  как описано в документе: https://www.raspberrypi.org/documentation/usage/GPIO /README.md

Наконец, подключите USB-разъем разъема к хост-компьютеру и получите оболочку с помощью

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69

Выход с помощью 10.42.0.160.

Настольные компьютеры по-прежнему имеют последовательный порт, к которому вы можете подключить напрямую провод для подключения к Pi, но они скрыты на большинстве ноутбуков, а затем нам нужен USB-адаптер, см. также: https: //Unix. stackexchange.com/questions/307390/what-is-the-difference-between-ttys0-ttyusb0-and-ttyama0-in-linux/367882#367882

Вот видео от Adafruit, показывающее это: https://www.youtube.com/смотреть? v = zUBPeoLW16Q

ответил Ciro Santilli 新疆改造中心 六四事件 法轮功 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 03 Sep 2016 03:17:18 +0300 2016, 03:17:18
2

Один из лучших способов подключения после первоначальной конфигурации - это запустить avahi-daemon на Raspberry Pi.

Как только вы установили avahi-daemon на малиновый Pi и Bonjour на главном компьютере вы можете просто войти в систему, используя raspberrypi.local в качестве имени хоста. Таким образом, нет необходимости настраивать IP-адрес , как статический, так и динамический.

Чтобы установить avahi-daemon на Raspberry Pi:

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

И если у вас есть iTunes , установленный на главном компьютере, просто введите raspberrypi .local в PuTTY , иначе установите Bonjour из здесь . Для получения дополнительной информации просмотрите этот учебник .

ответил karan 12 Maypm14 2014, 16:34:23
2

Вы можете попробовать raspbian-ua-netinst: , вы можете найти его, щелкнув здесь Это минимальный автономный сетевой пульт Raspbian для малины Pi Models 1B, 1B + и 2B. Не требуется экран или клавиатура. Они имеют отличное руководство по установке в README.md.

По сути, вы просто FAT-формат SD-карты. Разархивируйте последнюю стабильную версию и вставьте SD-карту в свой малиновый пи. Для установки минимальной установки Raspbian требуется около 20-30 минут, и тогда вам хорошо идти. Поставляется с SSH, установленным по умолчанию. Есть несколько вариантов, которые позволяют устанавливать дополнительные пакеты и файлы во время начальной установки. Вы также можете добавить пакеты позже, очевидно.

ответил Mausy5043 5 Mayam15 2015, 11:15:13
2

Для Raspbian я нашел этот учебник очень полезным. После выполнения шагов, описанных в нем, я смог SSH с моего ноутбука с Windows 10 до моего малинового PI с помощью пользователя pi и password raspberry.

Более конкретно, вот соответствующая часть:

  
  • Убедитесь, что малина Pi выключена, и удалите SD-карту.

  •   
  • Вставьте SD-карту в устройство для чтения карт и подключите его к ноутбуку.

  •   
  • Найдите диск, и вы должны найти несколько файлов на Карте (обратите внимание, что это намного меньше, чем вы ожидаете, поскольку это только раздел загрузки   карты (остальное скрыто)).

  •   
  • Сделайте копию cmdline.txt и переименуйте его cmdline.normal

  •   
  • Измените cmdline.txt и добавьте IP-адрес в конец (убедитесь, что вы не добавили лишних строк).

  •   

Для сетевых настроек, где IP-адрес получается автоматически,   используйте адрес в диапазоне 169.254.X.X (169.254.0.0 â € "   169.254.255.255):

     

ip=169.254.0.2

     

Для сетевых настроек, в которых установлен IP-адрес, используйте адрес   который соответствует адресу ноутбука /компьютеров, за исключением последней цифры.

     

ip=192.168.0.2

     

Убедитесь, что вы принимаете к сведению этот IP-адрес (он вам понадобится каждый раз   вы хотите напрямую подключиться к малине Pi).

     
  • Создайте новую копию cmdline.txt и переименуйте ее cmdline.direct

  •   
  • Чтобы выполнить обмен между конфигурациями, просто замените cmdline.txt либо на cmdline.normal, либо на cmdline.direct (или используйте команды в опции   2, чтобы сделать это непосредственно на Малиновой Пи - изменение вступит в силу   при следующем включении)

  •   
  • Верните карточку в малиновый пи. Присоедините сетевой кабель, подключенный к компьютеру, и к малине Pi и включите питание.

  •   

ПРИМЕЧАНИЕ СЛЕДУЮЩЕЕ:

     
  • Вам нужно будет дождаться, пока ваш компьютер завершит обнаружение сетевых настроек (вы можете заметить, что в вашей   в системном трее, когда он работает, или откройте сетевые настройки, чтобы увидеть, когда   он закончил и имеет IP-адрес) - он может занять около 1/2   минута. Ваш компьютер может сообщить о соединении как «ограниченный» или «нет».   соединение "при подключении к малине Pi таким образом, это   как указано, это прямой компьютер для подключения к компьютеру   а не стандартная сеть.

  •   
  • Если вы забыли или решили не подключать сетевой кабель, малина Pi будет ждать 2 минуты (или пока вы не подключите кабель)   перед завершением его запуска (так что если у вас есть только клавиатура и   монитор подключен, вам нужно подождать!).

  •   
  • Если вы используете несколько сетевых сетевых адаптеров (например, с помощью дополнительного ключа USB-LAN) на своем компьютере, вы можете обнаружить, что вам нужно отключить   другой сетевой кабель и снова подключить (моя машина Windows XP   нужно было это, прежде чем он соединился бы по прямой ссылке).

  •   
ответил Mihai Todor 13 FebruaryEurope/MoscowbSat, 13 Feb 2016 23:02:07 +0300000000pmSat, 13 Feb 2016 23:02:07 +030016 2016, 23:02:07
2

Поскольку у меня был другой Pis, с которым я мог подключаться , я обманул.

Я взял карту Micro SD из Pi, которая не позволяла мне подключаться, и поместить ее в USB-ридер на одном из рабочих Pis.

Затем я установил его в тестовую папку (sudo mount /dev/sda2 /mnt/test), затем chroot /mnt/test, чтобы рассматривать его как новый оболочки.

Затем я включил SSH с помощью systemctl enable ssh. Вытащив карту после размонтирования, загрузив Pi, порт SSH был открыт и доступен.

Работает на Debian, я уверен в других системах стиля systemd.

ответил Canadian Luke 17 J0000006Europe/Moscow 2017, 03:46:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132