Как исправить ошибку, создав новое соединение ssh? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь кросс-компилировать простое приложение HelloWorld в C ++ на Win 10 для Raspberry Pi3.Я установил набор инструментов для его настройки.Но до сих пор, создавая новое ssh-соединение, я всегда получал сообщение об ошибке типа «Отказано в доступе» или «Невозможно установить соединение, потому что целевая машина активно отказывалась».

Я проверил много уроков по кросс-компиляции, нобезуспешно до сих пор

1 Ответ

0 голосов
/ 08 апреля 2019

Я думаю, что вы смешиваете разные вещи здесь.

Кросс-компиляция означает компиляцию (и связывание) программного обеспечения для встроенной цели на хост-компьютере (в вашем случае Win10). Вам не нужно SSH на цель для этого. Скорее всего, вам нужно будет запустить свою конфигурацию так:

./configure --host=arm-linux --build=amd64-pc-linux-gnu

Аргумент host - это то место, где должен выполняться двоичный файл, а аргумент build - это место, где строится двоичный файл.

Однако я подозреваю , что вы успешно скомпилировали программное обеспечение на компьютере Win10, а затем пытаетесь скопировать его на встроенное устройство. В этом случае вы должны убедиться, что:

  1. Встроенное устройство подключено к сети
  2. На нем запущен демон SSH (вероятно, opensshd)
  3. Это позволяет вашему пользователю подключаться (обычно при установке по умолчанию root не разрешено подключаться, вам нужно изменить /etc/ssh/sshd_config на PermitRootLogin на yes)
  4. (Опционально) Вы генерируете пару ключей на хосте (через ssh-keygen и копируете открытый ключ в папку .ssh/authorized_keys вашего встроенного пользователя), чтобы разрешить вход без пароля

Пожалуйста, обратитесь к справочной странице по SSH.

Имея все вышеперечисленное, вы можете scp build/mySoftware root@myDevice:/usr/local/bin без сообщения Access Denied.

...