1

Я новичок в этой теме создания SFTP-сервера на своем компьютере. Я хотел бы иметь возможность доступа к папке на моем компьютере с Windows XP через SFTP с другого компьютера или телефона.

Вот что я сделал до сих пор:

Я установил SSH Windows, и все настроено правильно, потому что я могу получить к нему доступ (папка на моем компьютере) через WinSCP.

Однако я не могу получить к нему доступ со своего телефона. Это не соединяет.

Телефон может находиться в той же беспроводной сети, что и компьютер с Windows XP, но я предпочел бы иметь возможность доступа к нему, когда он не находится в той же сети.

Теперь из того, что я прочитал и понял, вот информация, необходимая для подключения:

1) Имя хоста: это будет IP-адрес моего компьютера, к которому я обращаюсь, набрав ipconfig в командной строке cmd (я легко получаю к нему доступ на своем компьютере, потому что просто ввожу localhost или 127.0.0.1)

2) Номер порта: это будет порт 22 (я также добавил это к моему маршрутизатору в разделе переадресации портов).

3) Имя пользователя: это будет мое имя пользователя Windows XP. Это, однако, мое полное имя, включая мою среднюю букву и точку. Мне интересно, может ли это вызывать проблемы при доступе к нему с моего телефона, поскольку в имени есть пробелы и знаки пунктуации (точка).

4) Пароль: пароль моего компьютера с Windows XP

Дополнительная информация: когда я говорю «телефон», я имею в виду телефон Android и использую приложение ftp / sftp для доступа к своему ПК через сотовую сеть телефона (я также пробовал беспроводную связь, но это не сработало). Я пробовал более одной программы. В одной программе он сообщает мне, что время соединения истекло, а в другой - «время ожидания: сокет не установлен»

Также я знаю, что могу пользоваться сайтом noip, но я предпочитаю сначала подключиться таким образом. Кроме того, поскольку я новичок в этом, я хотел бы посмотреть, что именно noip делает, и будут ли они видеть мои файлы при их передаче с телефона на компьютер.

Заранее благодарю за помощь.

ОБНОВЛЕНИЕ 1: Спасибо за ответы до сих пор. Кажется, проблема в том, что я не могу открыть порт 22. Я могу получить порт 21 (который я добавил совсем недавно в разделе «Виртуальные серверы» интерфейса моего маршрутизатора Belkin), но он отображается только как открытый, когда я использую программу под названием PFPortChecker, которую я установил. Если я захожу на сайт canyouseeme.org, он, тем не менее, говорит мне, что не может видеть этот порт, потому что время соединения истекло. На том же сайте я получаю то же сообщение об ошибке для порта 22. С программой проверки портов, она просто говорит мне, что порт не открыт или недоступен.

ОБНОВЛЕНИЕ 2:

  • Короткая версия: я могу подключиться !!! Вещи работают.
  • Более длинная версия: я наконец смог подключиться. Это была глупая ошибка с моей стороны. В моем интерфейсе Belkin, где указываются открытые порты, в столбце под заголовком «Включить» есть флажки. Я почему-то не проверял это, но сделал это для порта 21. Я думаю, что наличие двух предыдущих записей, которые я создал несколько лет назад, также не проверено, потому что я хотел, чтобы они присутствовали, но не были включены, возможно, отбросило бы меня визуально.

    Новая проблема, которая в конечном итоге была решена:

    Однако через некоторое время я внезапно не смог больше подключиться. В конце концов я снова смог подключиться, но потом не смог. Между тем у меня был телефон, который передавал файлы на мой компьютер. В разное время порт 22 открывался, а затем закрывался в соответствии с программным обеспечением, упомянутым выше, а также с веб-сайтом, упомянутым выше, а также с http://www.yougetsignal.com/tools/open-ports/, который казался более точным. Программа и эти сайты проверяли, открыт ли порт, используя мой внешний / публичный IP-адрес. Порт 21, который я также открыл, чтобы увидеть, возникнут ли у меня какие-либо проблемы, иногда будет отображаться как закрытый, а в другое время - как открытый.

    Затем я создал статический IP-адрес. Я думал, что у меня уже есть, но я не сделал. IP-адрес на моем компьютере (внутренний), однако, никогда не менялся, но, чтобы исключить проблему, я решил создать статический IP-адрес. Однако у меня все еще были проблемы с подключением.

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

    Я решил добавить порт 22 в список «Исключения», и вот, я смог успешно подключиться и повторно подключиться как минимум в течение 24 часов.

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

Я так счастлив, что я могу подключиться. Это круто, и я впервые делаю что-то подобное. Однако мне нужно многое узнать, особенно в том, что касается безопасности, одна из которых ограничивает доступ к другим папкам на моем компьютере. Я также хотел бы когда-нибудь создать тип сервера, который позволяет размещать веб-сайт.

Спасибо всем за помощь.

3 ответа3

2

1) Имя хоста: это будет IP-адрес моего компьютера, к которому я обращаюсь, набрав ipconfig в командной строке cmd (я легко получаю к нему доступ на своем компьютере, потому что просто ввожу localhost или 127.0.0.1)

Нет, для доступа к нему из сотовой сети вам нужен ваш общедоступный IP- адрес (если он у вас есть). Есть сайты, которые скажут вам об этом (например, whatismyip.com, если память не изменяет).

И даже этого недостаточно; это, вероятно, будет IP-адрес вашего домашнего маршрутизатора, где ваша внутренняя сеть маскируется и подключается к Интернету.

Ваш компьютер будет иметь внутренний адрес, такой как 192.168.1.5 или что-то подобное.

Поэтому вам также необходимо сообщить маршрутизатору, что при поступлении запроса на подключение, направленного на порт 22/tcp (ssh) по общему адресу, он должен направляться на внутренний адрес, соответствующий вашей машине XP. Эта функция обычно называется "виртуальным сервером" или "обратным сопоставлением портов" на маршрутизаторах.

Когда и телефон, и компьютер подключены к одной и той же точке беспроводного доступа, они находятся в одной сети, и их адреса являются своего рода "общедоступными", и все работает проще и быстрее.

Чтобы сделать (возможно, слишком упрощенный) пример, это как звонить в один и тот же отель - вам не нужен код страны и города, просто номер комнаты. Но если вы хотите позвонить в ту же комнату за пределами отеля, вы не можете просто набрать "42" - вам нужен общий телефонный номер отеля, и парню на стойке регистрации нужно сказать, чтобы он направил звонок в соответствующую комнату, или это никогда не пройдет.

В некоторых случаях ваш компьютер может быть открыт в Интернете и иметь собственный публичный IP-адрес (и вы увидите его с ipconfig), но это совсем не типично (отчасти из-за нехватки доступных IP-адресов, но в основном из-за рисков. Вы действительно не хотите, чтобы все в мире могли напрямую подключаться к вашему ПК, когда бы им это ни хотелось, даже если на компьютере установлен брандмауэр).

Обычно 127.0.0.1 (localhost) - это адрес, с которым машина может говорить сама с собой. Таким образом, он не может быть использован кем-либо еще (если бы я попробовал с моего компьютера, он тоже подключился бы к себе, а не к вам).

Второй IP-адрес назначается для подключений к локальной сети, и обычно это что-то вроде 192.168.xy (у меня сейчас 192.168.0.7). Это "номер комнаты" - многие компьютеры будут иметь одинаковые адреса, но они находятся в разных отелях (сетях) и не могут общаться друг с другом. Когда ваш телефон подключен к WiFi, вы хотите использовать этот тип адреса. Наконец мой провайдер предоставляет мне публичный адрес (например , 151.38.90.44), и что один позволит людям связаться со мной, и никто другой (в тот же момент) не разрешено иметь этот адрес. У вас будет свой, который может измениться, если вы включите и выключите свой маршрутизатор, и это тот, который будет использоваться снаружи.

0

Перво-наперво, попробуйте подключиться через IP, когда по беспроводной сети. Действительно важной частью является использование внутреннего адреса вашего компьютера, вероятно, 192.168. , адрес. Вы можете использовать ipconfig из командной строки, чтобы получить адрес. Другие способы получения IP подробно описаны в этом вопросе.

Если это работает, то вы можете попробовать получить к нему доступ за пределами вашей сети. Чтобы это работало, вам нужно будет использовать внешний IP-адрес и переадресацию портов, где вы хотите указать соединения с вашим внешним IP-адресом на ваш внутренний IP-адрес. Я бы также предложил использовать нестандартный внешний порт, чтобы случайное сканирование для открытых портов 22 не заканчивалось подключением к вашей системе.

Еще одно предложение - сделать так, чтобы у вашего компьютера был постоянный IP-адрес - мой маршрутизатор назначается статически через MAC-адрес.

Обратите внимание, что noip.com не относится ни к одному из перечисленных выше. Единственное, с чем это может помочь, это то, что вместо того, чтобы использовать ваш внешний IP-адрес, вы можете иметь имя, связанное с ним (например, вместо 169.254.123.45 вы можете подключиться к yourname.no-ip.org). Вам все еще нужно будет включить переадресацию портов. Единственное, что он делает - это создает запись DNS для вашей системы, и никакой трафик, кроме первоначального поиска, куда направить ваш запрос, не проходит через их серверы. Тот факт, что вы используете SFTP, также шифрует трафик, сводя к минимуму риск.

Обновление: из вашего обновления не ясно, использовали ли вы свой внутренний или внешний IP. Если вы используете внешний IP-адрес, ваш интернет-провайдер может заблокировать порты ниже 1024. Вот почему я упомянул использование нестандартного порта и переадресацию его на порт 22 в вашей внутренней сети. Попробуйте переадресацию с порта где-то между 1024 и 65535 и на внутренний порт 22.

0

Зайдите в панель управления и отключите брандмауэр. Попробуйте его с внешнего IP-адреса, и если он работает, вы можете добавить исключение для порта, который вы установили.

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