Как безопасно ssh в машину дома через интернет

8

Я скоро поеду, и у меня есть машина, на которой выполняется куча заданий cron и т. Д. Мне нужно удаленно войти в систему, чтобы проверить результаты выполненных заданий и выполнить некоторую работу на машине.

Вот важные факты:

  1. Подключаемая машина (Mothership) работает под управлением Ubuntu 14.0.4 LTS
  2. Материнский корабль подключен к Интернету через локальную сеть дома, поэтому имеет открытый IP-адрес.
  3. IP-адрес назначается динамически.
  4. Я буду подключаться к кораблю с помощью ноутбука под управлением Ubuntu 15.10

Я предпочитаю использовать ssh, а не VNC, из-за проблем с пропускной способностью - плюс, в любом случае, все, что мне нужно, это командная строка.

Каков наилучший способ безопасного удаленного подключения к моей машине?

Homunculus Reticulli
источник
SSH безопасен. В чем ваша проблема с этим?
Мостафа Ахангарха
VNC - это графическое дистанционное управление. Вы имеете в виду VPN?
TheWanderer
@ Techraf ах, я понял. Я отправил голосование одобрения
TheWanderer
Просто прочитайте хорошее руководство, там есть лучший раздел крипто, посвященный ssh. И отключить пароль, войдите!
Брайам
Из чата, я вижу, вы подумали об аутентификации с парольными фразами вместо паролей. Что вы можете посмотреть, так это разрешить только аутентификацию с закрытым / открытым ключом.
Олифаунт - восстановите Монику

Ответы:

14

Лучше всего, вероятно, запустить SSH-сервер на порте, отличном от порта по умолчанию, например 2020. Это предотвращает большинство попыток атак с использованием грубой силы из Интернета, так как эти боты обычно смотрят только на порты по умолчанию.

Вам также потребуется назначить серверу статический IP-адрес в локальной сети, так как он должен быть доступен в любое время. Вы можете установить это в System Settings --> Network. Для предотвращения конфликтов IP-адресов также рекомендуется сообщить DHCP-серверу (в большинстве случаев маршрутизатору), что этот IP-адрес занят. Метод зависит от модели, но где-то в конфигурации маршрутизатора должна быть область, позволяющая резервировать IP-адреса.

Причиной статического IP-адреса является необходимость переадресации портов в настройках маршрутизатора. Это позволяет соединять порты с внешним IP-адресом на этот порт вашего сервера.

Если ваш общедоступный IP-адрес является динамическим, что, вероятно, так и есть, вы захотите настроить какой-то динамический DNS-сервис. Моя рекомендация для этого сервиса - No-IP . Это дает вам бесплатный поддомен, который всегда указывает на ваш публичный IP. Эта настройка требует установки программы на постоянно включенном компьютере в вашей локальной сети (так называемый DUC, предоставляемый No-IP).

Как только вы настроите сервер SSH, введите SSH, введя

ssh user@remotehostip -p XXX

или используя любой клиент SSH / SFTP, который вы предпочитаете.

Если какой-либо из этих разделов требует более подробных инструкций, прокомментируйте, и я добавлю их в.

Если у кого-то еще есть проблемы с подпиской, вот чат, в котором есть дальнейшие / более подробные шаги: http://chat.stackexchange.com/rooms/37251/discussion-between-homunculus-reticulli-and-zacharee1

Странник
источник
+1 Спасибо @ Zacharee1 за быстрый ответ. Я зарегистрировал домен для своих целей, используя no-ip. Я выполнил все шаги. Последний шаг, где я в недоумении: настройка маршрутизатора для переадресации портов. Я мог бы сделать с некоторой помощью в этой области, если это возможно. Спасибо
Гомункул Ретулли
@HomunculusReticulli Какая у тебя модель роутера?
TheWanderer
Кроме того, я не вижу, где / как назначить статический IP-адрес. Я пользуюсь Ubuntu Trusty Tahir
Homunculus Reticulli
1
Нет IP-адреса, потому что у вас динамический внешний адрес
TheWanderer
1
@BharadwajRaju это не то, что я могу объяснить в комментарии. Посмотрите, как настроить компьютер с Ubuntu в качестве маршрутизатора, и вы найдете что-то
TheWanderer
1

В дополнение к ответу Zacharee1 вы должны установить либо Fail2ban, либо DenyHosts (получите .deb из репозитория Precise). Вы не должны проходить аутентификацию с ключами, если вы путешествуете. Используйте также «безопасный» пароль. Может быть, создать специальную учетную запись пользователя с ограниченным доступом на время, когда вам не нужно быть администратором.

Я бы не трогал настройки сети на Сервере, статический IP можно назначить с роутера. IP-адрес маршрутизатора должен быть адресом шлюза, назначенным в DHCP. В случаях, когда это не (!) Адрес по умолчанию должен быть записан где-то под ним. Если вы изменили это, вы должны были оставить последнее значение в покое. Так что, если у вас есть домашняя сеть класса C, адрес будет abcx, где abc соответствует всем вашим другим IP-адресам, а x - это конечное значение с вашего стикера маршрутизатора. В любом случае у провайдера должны быть справочные страницы.

Когда вы используете нестандартный порт, избегайте «22» в качестве последних цифр (скажем, 8122). Это оставляет подсказки.

NB. Вы можете получить доступ к приложениям на основе X по SSH без VNC, это совсем другая тема.

mckenzm
источник
Не могли бы вы объяснить свой комментарий: «Вы не должны проходить аутентификацию с ключами, если вы путешествуете», это противоречит всему, что я прочитал до сих пор. Какова причина, по которой вы говорите это?
Гомункул Ретикулли
Почему нельзя путешествовать с ключами во время путешествий ? Аутентификация не имеет значения, путешествуете вы или нет.
UniversallyUniqueID
Вы не пересекали границу в последнее время? Ни разу не потерял телефон? Ваши ключи будут переданы. То же самое относится и к сертификатам. Установите один на интернет-кафе на свой страх и риск. Ключи обеспечивают мгновенный доступ без пароля, клиент должен быть защищен, а не в вашем заднем кармане.
Маккензм