Вопрос или проблема
Я подключаюсь к Raspberry PI с помощью ssh с моего компьютера с Windows и получаю следующее сообщение:
PS C:\Users\user> ssh [email protected] -vvv
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
debug1: Чтение конфигурационных данных C:\\Users\\user/.ssh/config
debug1: Чтение конфигурационных данных __PROGRAMDATA__\\ssh/ssh_config
debug2: resolve_canonicalize: имя хоста 172.16.20.100 является адресом
debug2: ssh_connect_direct: needpriv 0
debug1: Подключение к 172.16.20.100 [172.16.20.100] порт 22.
debug1: Соединение установлено.
debug1: файл идентификатора C:\\Users\\user/.ssh/id_rsa типа 0
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_rsa-cert ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_rsa-cert.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_rsa-cert типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_dsa ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_dsa.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_dsa типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_dsa-cert ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_dsa-cert.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_dsa-cert типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ecdsa ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ecdsa.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_ecdsa типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ecdsa-cert ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ecdsa-cert.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_ecdsa-cert типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ed25519 ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ed25519.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_ed25519 типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ed25519-cert ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_ed25519-cert.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_ed25519-cert типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_xmss ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_xmss.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_xmss типа -1
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_xmss-cert ошибка:2
debug3: Не удалось открыть файл:C:/Users/user/.ssh/id_xmss-cert.pub ошибка:2
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификатора C:\\Users\\user/.ssh/id_xmss-cert типа -1
debug1: Локальная версия строки SSH-2.0-OpenSSH_for_Windows_7.7
debug3: recv - от CB(2) ОШИБКА:138, io:000001A90E8E96E0
ssh_exchange_identification: чтение: Время соединения истекло
На Raspberry Pi (сторона сервера) я ввожу:
sudo /usr/sbin/sshd -d
debug1: версия sshd OpenSSH_7.9, OpenSSL 1.1.1d 10 Сен 2019
debug1: закрытый хост-ключ #0: ssh-rsa SHA256:aXZ4Le7wCYPTbrCbVJ0rFrIlTcXKAllLJ9BgFgtwDEA
debug1: закрытый хост-ключ #1: ecdsa-sha2-nistp256 SHA256:LCjd0igPxbcFfN+9wK7m2C4SykVPK7scQxrUnwYJyDQ
debug1: закрытый хост-ключ #2: ssh-ed25519 SHA256:C+fhR3x/Vj7W4VY5ZeQhFoSJkhGWAkdgK2baFJ0IJcM
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Установка /proc/self/oom_score_adj с 0 на -1000
debug1: Привязка к порту 22 на 0.0.0.0.
Привязка к порту 22 на 0.0.0.0 не удалась: Адрес уже используется.
debug1: Привязка к порту 22 на ::.
Привязка к порту 22 на :: не удалась: Адрес уже используется.
Не удается привязать ни один адрес.
Как мне подключиться?
Попробуйте изменить ваш IP-адрес или даже подключить сетевой кабель к другому порту. Я решил эту проблему таким образом.
Ответ или решение
Ошибка "ssh_exchange_identification: read: Connection timed out" при подключении к Raspberry Pi
При попытке подключиться к Raspberry Pi по протоколу SSH (Secure Shell) с вашего компьютера под управлением Windows вы столкнулись с ошибкой ssh_exchange_identification: read: Connection timed out
. Это сообщение указывает на проблему с установлением соединения между клиентом и сервером SSH. Давайте рассмотрим возможные причины этой проблемы и пути её решения.
1. Анализ состояния сети
Первое, что стоит проверить, — это состояние сети. Убедитесь, что ваш Raspberry Pi включен и подключен к сети. Проверьте, можно ли получить доступ к интернету или локальной сети с вашего компьютера, выполнив команду пингования (ping) IP-адреса Raspberry Pi:
ping 172.16.20.100
Если ответы отсутствуют, возможно, проблема связана с сетевым подключением. Убедитесь, что Raspberry Pi и ваш компьютер находятся в одной подсети.
2. Проверка работы SSH-сервера
Согласно вашим журналам отладки, указание на проблему представлено сообщением Cannot bind any address
. Это означает, что SSH-сервер на Raspberry Pi не может привязаться к порту 22, так как он уже занят. Проверим, работает ли SSH-сервер и на каком порту он слушает:
sudo netstat -tuln | grep :22
Если вы получите вывода с привязкой к порту 22, это значит, что сервер работает. Если нет, вы можете перезапустить SSH-сервер:
sudo systemctl restart ssh
Или, в случае использования OpenSSH:
sudo service ssh restart
3. Проверка конфигурации SSH
Убедитесь, что файл конфигурации SSH на Raspberry Pi настроен правильно. Для этого откройте файл /etc/ssh/sshd_config
и проверьте, что следующие параметры установлены:
PermitRootLogin yes
PasswordAuthentication yes
После внесения изменений перезапустите SSH-сервер.
4. Блокировка брандмауэром
Некоторые системы имеют встроенные брандмауэры, которые могут блокировать соединения по определённым портам. Убедитесь, что порт 22 открытый для входящих соединений. Проверьте конфигурацию брандмауэра с помощью команды:
sudo ufw status
Если порт 22 закрыт, откройте его с помощью следующей команды:
sudo ufw allow 22
5. Использование клиента SSH
Судя по предоставленным логам, ваш SSH-клиент успешно пытается подключиться, однако не может. Попробуйте использовать возможность подключения с использованием параметра verbose для получения подробной информации:
ssh -vvv [email protected]
Отметьте, если в логах есть ошибки, связанные с аутентификацией или ключами.
Заключение
Ошибка ssh_exchange_identification: read: Connection timed out
может быть вызвана многими факторами, от проблем с сетью до некорректной работы SSH-сервера. Следуя шагам, представленным выше, вы сможете эффективно диагностировать и устранить проблему. Если ни одно из предложенных решений не помогло, может быть полезно пересмотреть настройки вашего маршрутизатора или оборудования сети.