SSH для домашних компьютеров

У меня есть несколько компьютеров дома, которые я хотел бы получить в школе, используя SSH и VNC. Для этого я дал им статические IP-адреса:

192.168.1.50: Windows 192.168.1.51: Ubuntu 192.168.1.52: Raspberry Pi / Raspbian

Я знаю, что SSH использует порт 22 , поэтому я могу переслать этот порт на 192.168.1.51:22 на моем маршрутизаторе, но таким образом я не смогу SSH для моей малины Pi. Есть ли способ, которым я мог бы установить это, чтобы иметь доступ к обеим машинам?

1
задан 20 September 2016 в 20:06

4 ответа

Простым способом решения этой проблемы является сопоставление различных портов с вашего маршрутизатора с портом 22 ваших компьютеров. Например, в вашем маршрутизаторе могут быть следующие настройки (при условии, что ваш маршрутизатор имеет IP 1.2.3.4)

1. 1.2.3.4:22   --> ubuntu:22
2. 1.2.3.4:8888 --> raspberrypi:22
3. 1.2.3.4:9999 --> windows:22 (or some other port)

Затем, когда вы используете ssh, укажите порт, который вы хотите использовать, набрав [!d1 ]

$ ssh <username>@<router ip> -p <your port>

Теперь вы сможете подключиться ко всем вашим машинам.

19
ответ дан 23 May 2018 в 05:57

Если вы знаете, что один из ваших компьютеров всегда встал, у вас также есть возможность использовать его как прокси-сервер ssh.

предположим, что у вас есть настройка имени домена для вашего внешнего IP-адреса (т. е. myhome .dyndns.com или что-то еще), то, что вы будете делать, - это подключение на одном компьютере (скажем, малина всегда вверх, и вы пересылаете порт с вашего маршрутизатора на него), ваши ssh-соединения будут:

[d2 ] школа -> (роутер, прозрачный здесь) -> малина -> ubuntu или windows

теперь, в вашем ~ / .ssh / config в школе, добавьте строки:

[ f1]

Для подключения:

ssh-add ~/.ssh/id_rsa # to do only once per session
ssh myuser@ubuntu (login without password)

Теперь, если вы наберете ssh ubuntu, компьютер сначала подключится к малине, а затем запустит сеанс ssh на компьютер ubuntu.

Я рекомендую вам, независимо от того, какой порт вы хотите переслать, отключить пароль в /etc/sshd.conf, чтобы разрешить только вход через ssh. Таким образом, если вы настроите ключ на малине и на ubuntu, с параметром «ForwardAgent», вам нужно будет только разблокировать ключ, а затем пароль не требуется для подключения. Таким образом, даже если боты пытаются войти в систему на вашем ssh, они никогда не смогут войти в систему, поскольку вы запретите вход в систему.

Бонус, это работает также с scp, scp foo ubuntu: / tmp / foo будет использовать ту же установку без дополнительных параметров. Бонус 2, эта настройка не требует каких-либо изменений дома, если завтра вы и другой компьютер просто скопируйте / вставьте код в свою конфигурацию ssh, измените хост и ip, вот и все, нет необходимости открывать новый порт на маршрутизаторе

11
ответ дан 23 May 2018 в 05:57
  • 1
    Есть ли недостаток в использовании машины в качестве промежуточного элемента для SSH? Скажем, я использую мой малиновый Pi для подключения к другим компьютерам внутри сети, будет ли его производительность влиять на задачу? – acourchesne 21 September 2016 в 19:24
  • 2
    Да, малина может ограничить пропускную способность, поскольку она должна служить сервером и клиентом. Если вы достаточно уверены, вы можете добиться того же результата с помощью туннелей ssh. Таким образом, малина действует только как сервер, но ваш школьный компьютер должен делать два клиента. – potens 23 September 2016 в 00:07

Я делаю это - я оставляю rpi и подключаюсь прямо к маршрутизатору все время (так как это самый дешевый для запуска) и просто ssh в него, а затем отскакивает от него к другим - ему не нужно много внимания .

Также возможно VNC / RDP - графический интерфейс по каналу ssh, любопытное удовольствие или пересылка порта, который позволяет вам просматривать сервер на вашем настольном компьютере, сохраняя при этом его личное.

Причина, по которой я добавил этот ответ, - это дать вам несколько предложений.

1) Используйте другой порт, чем 22. Вы можете оставить его 22 в PI, но измените входящий порт на вашем маршрутизаторе на что-то более 10 000 ... В противном случае вы получите десятки и сотни атак в день - и как только вы, как известно, запустите SSH-хост, второй обнаруживается, вы принадлежите.

2) Использовать сертификаты вместо имени пользователя / пароля - полностью отключить имя пользователя / пароль для входа в систему

3) Если ваш IP-адрес может измениться, используйте службу типа dyndns, чтобы получить себе хост-сервер DNS (я использую noip, он бесплатный и они поддерживают клиента Linux для обновления вашего IP-адреса - Я думаю, вы можете просто примерить его на пи сейчас). Есть еще несколько других компаний, которые предлагают это бесплатно.

4) Держите свой pi (или что бы вы ни делали ssh) в актуальном состоянии (обновление sudo apt-get). Я считаю, что ssh довольно хорошо проверен, но я также считал, что https ...

4
ответ дан 23 May 2018 в 05:57

Усомнился, будет ли это лучше соответствовать комментарию, а не отвечать, но я все равно отправлю его сюда.

Некоторые вещи, о которых вы должны подумать, прежде чем делать это:

[d2 ] Вы откроете свои системы в Интернете, поэтому вам лучше убедиться, что они хорошо исправлены, а ваша конфигурация безопасности упрочнена (например, не разрешайте вход в root и используйте паб-ключи вместо паролей). Ваш общедоступный IP-адрес (см. Whatismyip.com) может измениться, в зависимости от вашего интернет-провайдера он может меняться ежедневно или почти никогда. Это означает, что вам нужно будет найти способ узнать свой публичный IP-адрес. Вы можете ежедневно посещать whatismyip.com из своей домашней сети, создавать какое-то приложение или использовать Dynamic DNS (DynDNS) для сопоставления изменяющегося публичного IP-адреса с статическим доменным именем. Если вы хотите использовать IPv6 для обхода всех проблем, связанных с IPv4 и NAT, вам понадобятся ваши устройства, маршрутизатор, интернет-провайдер, ... для IPv6. Есть некоторые службы, которые могут помочь вам, когда ваш интернет-провайдер не поддерживает IPv6, но ваши устройства и маршрутизатор должны будут говорить об этом в любом случае. Чем больше портов и устройств вы открываете в Интернете, тем больше становится ваша область атаки. Я бы предложил использовать скачок в вашей сети и только разрешить доступ SSH к этому устройству из Интернета. Скамья была бы в основном одной очень закаленной системой, которую вы переносите через маршрутизатор в Интернет. После подключения к этому ядру вы сможете через SSH подключиться к своей внутренней сети. В прыжке в коробке могла бы быть другая малина Pi. Я бы предложил использовать специализированное устройство, чтобы иметь возможность закрепить его как можно больше (в том числе за счет использования как можно меньшего количества услуг). (4a) Вместо того, чтобы иметь прыжок, в который вы попали SSH, вы также можете настроить VPN-сервер, который позволяет вам просматривать домашнюю сеть со своего устройства в школе (если разрешены исходящие VPN-соединения).
3
ответ дан 23 May 2018 в 05:57

Другие вопросы по тегам:

Похожие вопросы: