ssh не працює


10

Я не в змозі врізатися в своє пі. RPI підключено безпосередньо до мого хост-ПК.

Я встановив IP-адресу свого хоста: ----

sudo ifconfig eth0 192.168.0.204 netmask 255.255.255.0 up
sudo route add default gw 192.168.0.200

Pi має стандартний IP-файл у файлі мережевих інтерфейсів як: ----

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

якщо config comand на моєму ПК: -----

ignite@ignite-desktop:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:f3:a6:1b  
          inet addr:192.168.0.204  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6ef0:49ff:fef3:a61b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:43752 (43.7 KB)  TX bytes:33407 (33.4 KB)
          Interrupt:26 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1012 (1.0 KB)  TX bytes:1012 (1.0 KB)

Ping працює для того самого хоста: ----

ignite@ignite-desktop:~$ ping 192.168.0.204
PING 192.168.0.204 (192.168.0.204) 56(84) bytes of data.
64 bytes from 192.168.0.204: icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from 192.168.0.204: icmp_seq=2 ttl=64 time=0.018 ms
64 bytes from 192.168.0.204: icmp_seq=3 ttl=64 time=0.017 ms
64 bytes from 192.168.0.204: icmp_seq=4 ttl=64 time=0.014 ms

Ping працює для пі з мого хост-ПК: ----

ignite@ignite-desktop:~$ ping 192.168.0.202
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data.
64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=0.530 ms
64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=0.508 ms
64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=0.464 ms
64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=0.445 ms
64 bytes from 192.168.0.202: icmp_seq=5 ttl=64 time=0.434 ms

SSH не працює

ignite@ignite-desktop:~$ ssh pi@raspberrypi
ssh: Could not resolve hostname raspberrypi: Name or service not known

ignite@ignite-desktop:~$ ssh pi@192.168.0.202
Read from socket failed: Connection reset by peer

ignite@ignite-desktop:~$ ssh 192.168.0.202 -l pi
Read from socket failed: Connection reset by peer

Підкажіть, будь ласка, як це вирішити?

редагувати: ---
ssh -vvv pi@192.168.0.202 ---> вихід є

ignite@ignite-desktop:~$ ssh -vvv pi@192.168.0.202
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.202 [192.168.0.202] port 22.
debug1: Connection established.
debug1: identity file /home/ignite/.ssh/identity type -1
debug1: identity file /home/ignite/.ssh/id_rsa type -1
debug1: identity file /home/ignite/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-2
debug1: match: OpenSSH_6.0p1 Debian-2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

1
Ви перевірили, чи працює демона ssh?
кодеї

насправді у мене немає екрана HDMI, і я використовував свій віддалений настільний комп'ютер, щоб увійти в pi за допомогою ssh. Тепер, як я можу це перевірити?
Аллан

ps aux | grep sshd
codey

Якщо sshd запущено, на виході будуть показані sshd-процеси. Окрім "grep sshd", який ми щойно бігли, звичайно.
codey

Відповіді:


5

У мене була така ж проблема з нещодавно встановленим расп'яном, і проблема була з сервером ssh-ключів на сервері.

Ці клавіші не генеруються на зображенні з тих причин, що кожен пристрій повинен мати різні ssh-клавіші, і під час першого завантаження ці ключі створюються автоматично.

Моя проблема полягала в тому, що, ймовірно, під час генерації цих клавіш я відключаю живлення, вони помилялися з нульовим розміром.

Рішення полягає у відновленні ключів хоста з боку сервера ssh:

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

https://wiki.debian.org/SSH#Regenerating_host_keys


2
як слід регенерувати ключі хоста на стороні ssh-сервера (dpkg-перенастроює openssh-сервер), якщо вони не можуть ввійти вперше?
Hayri Uğur Koltuk

Точно @ HayriUğurKoltuk Я на Mac, як я можу це зробити?
clearlight

4

Причина видачі та виправлення

Без спеціальних програм ви не можете вступити в Pi, використовуючи його ім'я хоста. Для мереж локальної мережі, пінг-хост. Як тільки у вас є IP, запишіть його. Потім запишіть у термінал:

ssh pi@this_is_the_ip

і ви повинні мати можливість увійти.

Якщо ви хочете отримати доступ до Pi за межами своєї домашньої мережі, вам слід перенести маршрутизатор вперед . Насправді виникає питання обміну стеками, як це зробити.

Якщо припустити, що ви все ще хочете використовувати приємне ім’я для свого Pi, є один варіант, який буде працювати як у вашій мережі, так і без неї.

DNSDynamic

Це програмне забезпечення дозволяє встановити доменне ім’я для вашого pi.

  1. Перейдіть на їхній веб-сайт і налаштуйте доменне ім’я та рахунок.

  2. Встановіть ddclientна ваш Pi.

    sudo apt-get install ddclient 
    

    А потім відредагуйте налаштування конфігурації.

    sudo nano /etc/ddclient.conf
    

    Нарешті, змініть файл на наступне:

# /etc/ddclient.conf

daemon=600

timeout=10

ssl=yes

protocol=dyndns2

use=web, web=myip.dnsdynamic.com #Enter your URL here

server=www.dnsdynamic.org

login=x@gmail.com  #userid for dnsdynamic.com

password='xxxx'      #password for the same put inside quotes

x.dnsdynamic.com  #the domain name you created

Припускаючи, що ви хочете, щоб це автоматично запускалося щоразу, коли ваш комп'ютер прокидається, введіть наступне в термінал.

sudo nano /etc/rc.local

Додайте наступну команду раніше exit 0(яка є останнім рядком)

sudo /usr/sbin/ddclient -daemon 600 -syslog

Нарешті, ви все одно повинні просуватися.

Сподіваємось, це корисно. Задайте питання в розділі коментарів нижче.


Насправді я склав і встановив останню openssl до моєї цільової RPi. Тепер ssh для мене не працює Чи залежить ssh від openssl?
Аллан

SSL (захищений шар сокетів) не потрібен для запуску SSH. Це може бути проблема в цій установці. Але, будь ласка, спробуйте використовувати локальний IP Pi замість імені хоста.
xxmbabanexx

я опублікував о / р для -----> ssh -vvv pi@192.168.0.202 ---> чи можете ви підказати, у чому проблема
Аллан

я регенерував ключі на хості та цілі .. видалив відомий файл хоста з ~ / .ssh ... він спрацював ...
Аллан

видаліть увесь файл із: --- / etc / ssh ----> крім shh_config ---> та змінив конфігурацію ssh за цим посиланням ---> blog.harshadura.net/2012/01/…
Allan

0

Ви можете подивитися на мою відповідь на ці питання.

Як отримати IP-адресу Raspberry Pi для SSH

Ще одна можливість, яку я не згадував, - це придбати домен (це дуже дешево) та пограти з DNS. Я купив домен aasgard.infoза 0,99 копійок і призначив ім'я ygdrasill.aasgard.infoна внутрішню адресу ( 192.168.1.141в даному випадку). Тоді вам потрібно встановити домен за замовчуванням як доменне ім’я, яке ви купили, і voila ':)

Мушу зізнатися, що витративши весь час на створення домену, я зрозумів, що використовувати / etc / hosts файл або avahi набагато простіше :)


0

Ви впевнені, що на своєму Raspberry Pi запустили SSH-сервер? Тільки тому, що ви можете пінг, це не означає, що він працює на SSH-сервері. Спробуйте sshdлегкий сервер SSH.


0

Увімкнути SSH

Станом на листопад 2016 року в Raspbian за замовчуванням відключений сервер SSH.

Його можна ввімкнути вручну з терміналу:

sudo raspi-config
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish

або

Launch Raspberry Pi Configuration from the Preferences menu
Navigate to the Interfaces tab
Select Enabled next to SSH
Click OK

Крім того, використовуйте systemctl для запуску послуги

sudo systemctl enable ssh
sudo systemctl start ssh

-1

Підключення SSH за замовчуванням ВИМКНЕНО в останніх малинових пі. RPI, які випускаються в / після листопада 2016 року.

Етапи: 1) Запишіть зображення raspbian на SD-карту. 2) створити ssh-файл без розширення. 3) скопіюйте цей ssh-файл на SD-карту, де записано ваше зображення. 4) Нарешті ви зможете SSH вашого малинового пі.

Детальніше дивіться у цьому відео: https://www.youtube.com/watch?v=zKT6bTESlLs


2
Ласкаво просимо до Raspberry Pi! Відвідайте екскурсію та відвідайте довідковий центр, щоб побачити, як тут все працює. Зауважте, що це питання з 2013 року. Тоді опис, який ви описуєте, взагалі не був проблемою ...
Ghanima
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.