2

Я знаю, что уже есть некоторые темы по этому поводу, но ни одна из них не помогла мне решить мою проблему. Я хочу отправить простой текстовый файл со своего компьютера с Linux на мой компьютер с Windows 10 с помощью команды scp. Вот что я печатаю в своей консоли Linux:

scp -P80  test.txt mywindowsusername@mywindowsip:/Desktop

Я использую порт 80, потому что в противном случае система сообщает мне, что порт 22 закрыт.

Через некоторое время я получаю сообщение об ошибке:

ssh_exchange_identification: Connection closed by remote host 

lost connection

Я также пробовал много разных команд, таких как копирование файла в другую папку и использование

-r

после порта но ошибка всегда одинакова.

У кого-нибудь есть идеи как это исправить?

1 ответ1

0

Вы сказали, что система сообщит вам, что порт 22 закрыт. Но, очевидно, ваша система не сообщает вам, что порт 80 закрыт. Это будет означать, что на ПК с Windows вы запускаете программное обеспечение, которое прослушивает порт 80, но не порт 22 (тогда это может быть веб-сервер), или что брандмауэр на ПК с Windows настроен для пропускания через него входящий трафик через порт 80, но не через порт 22.

"Сервер scp" обычно включается в SSH-сервер (по крайней мере, я никогда не слышал о том, чтобы кто-то на самом деле использовал автономный сервер только для SCP). Это означает, что вам, вероятно, придется установить SSH-сервер на ПК с Windows. Обратите внимание, что Windows не имеет такого сервера (возможно, если вы не используете подсистему Unix от Microsoft, которую они поставляют с новыми версиями Windows, но я не знаю).

При установке сервера SSH на ПК с Windows, имейте в виду, что он будет прослушивать порт 22 по умолчанию. Если вы хотите, чтобы он прослушивал порт 80, вам придется изменить его конфигурацию. Точный способ настройки и действия зависят, конечно, от серверного программного обеспечения.

На вашем месте я бы сделал следующее:

1) Проверьте, почему порт 80 открыт на вашем компьютере с Windows (проверьте, установлено ли программное обеспечение, которое может работать непреднамеренно, проверьте настройки брандмауэра). Если порт 80 открыт случайно, закройте его.

2) Установите SSH-сервер на вашем компьютере с Windows.

3) Сконфигурируйте брандмауэр на вашем компьютере с Windows, чтобы разрешить TCP-соединения через порт 22, возможно, ограниченный определенными хостами (ваш Linux-компьютер), и возможно разрешенный только для определенных программ (сервер SSH).

Это должно работать тогда.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .