Подтвердить что ты не робот

Как получить доступ к моему Linux-серверу SSH из-за пределов моей домашней сети

Итак, я пробовал интернет в течение нескольких дней, пытаясь понять это и не могу понять.

Я знаю, что это будет легко.

Итак, я недавно взял старый рабочий стол и загрузил сервер Ubuntu 12.04. Моя цель в этом проекте - создать область для размещения нескольких репозиториев git и, возможно, простой веб-страницы.

Я установил пакеты SSH и Apache2 и попытался их настроить. Прямо сейчас я могу войти с моего ноутбука, используя ssh [email protected], но только в то время, когда я нахожусь в одной сети. Когда я покидаю дом, я получаю ошибку тайм-аута.

Итак, 2 вещи, которые я хотел бы получить прямо сейчас.

  • Как настроить SSH, чтобы разрешить мне доступ к серверу из-за пределов сети.
  • Получите мое имя хоста на сервере, поэтому логины будут greg @hostname вместо [email protected]

    (я сделал sudo имя хоста и изменил файл etc/hostname и никаких результатов)

Спасибо, ребята.

4b9b3361

Ответ 1

Тайм-аут, внешний для вашей домашней сети, происходит, потому что указанный вами IP-адрес будет перенаправлен в другие места в внешних сетях.

Как указывали другие, вам необходимо настроить перенаправление портов на маршрутизаторе (внешний интерфейс) на SSH-сервер. Вы можете использовать стандартный порт (22) или любой другой порт (что-то выше 1024). Для веб-сервера вам нужно будет настроить переадресацию порта с порта 80 на внешний интерфейс на ваш сервер и, возможно, на порт 443, если вы хотите включить соединения SSL/TLS.

Я также рекомендую использовать конфигурационный файл SSH (~/.ssh/config), чтобы упростить создание внутреннего или внешнего подключения. Добавьте что-то вроде этого:

Host serverext
Hostname 1.2.3.4
User greg
Port 22

Host serverint
Hostname 192.168.1.10
User greg
Port 22

Измените имя хоста для конфигурации serverext на IP-адрес вашего интернет-соединения. Если вы используете нестандартный порт для внешних SSH-соединений, измените поле порта для файла serverext, чтобы оно соответствовало.

Измените имя хоста для конфигурации serverint на внутренний IP-адрес этого сервера в вашей сети.

Как только это настроено, в сочетании с переадресацией портов вы сможете использовать "ssh serverint" для подключения к вашему серверу, когда вы дома, и "ssh serverext", чтобы подключиться к нему, когда вы находитесь где-то в другом месте.

В конфигурационный файл SSH можно включить дополнительные параметры конфигурации, такие как туннелирование портов и соединения с веб-сервером. Раньше я делал такие вещи и перенаправлял SSH-соединения через прокси-серверы SOCKS. Я даже пропустил его через Tor, но он очень медленный.