У меня есть несколько компьютеров дома, которые я хотел бы получить в школе, используя 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. Есть ли способ, которым я мог бы установить это, чтобы иметь доступ к обеим машинам?
Простым способом решения этой проблемы является сопоставление различных портов с вашего маршрутизатора с портом 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>
Теперь вы сможете подключиться ко всем вашим машинам.
Если вы знаете, что один из ваших компьютеров всегда встал, у вас также есть возможность использовать его как прокси-сервер 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, вот и все, нет необходимости открывать новый порт на маршрутизаторе
Я делаю это - я оставляю 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 ...
Усомнился, будет ли это лучше соответствовать комментарию, а не отвечать, но я все равно отправлю его сюда.
Некоторые вещи, о которых вы должны подумать, прежде чем делать это:
[d2 ] Вы откроете свои системы в Интернете, поэтому вам лучше убедиться, что они хорошо исправлены, а ваша конфигурация безопасности упрочнена (например, не разрешайте вход в root и используйте паб-ключи вместо паролей). Ваш общедоступный IP-адрес (см. Whatismyip.com) может измениться, в зависимости от вашего интернет-провайдера он может меняться ежедневно или почти никогда. Это означает, что вам нужно будет найти способ узнать свой публичный IP-адрес. Вы можете ежедневно посещать whatismyip.com из своей домашней сети, создавать какое-то приложение или использовать Dynamic DNS (DynDNS) для сопоставления изменяющегося публичного IP-адреса с статическим доменным именем. Если вы хотите использовать IPv6 для обхода всех проблем, связанных с IPv4 и NAT, вам понадобятся ваши устройства, маршрутизатор, интернет-провайдер, ... для IPv6. Есть некоторые службы, которые могут помочь вам, когда ваш интернет-провайдер не поддерживает IPv6, но ваши устройства и маршрутизатор должны будут говорить об этом в любом случае. Чем больше портов и устройств вы открываете в Интернете, тем больше становится ваша область атаки. Я бы предложил использовать скачок в вашей сети и только разрешить доступ SSH к этому устройству из Интернета. Скамья была бы в основном одной очень закаленной системой, которую вы переносите через маршрутизатор в Интернет. После подключения к этому ядру вы сможете через SSH подключиться к своей внутренней сети. В прыжке в коробке могла бы быть другая малина Pi. Я бы предложил использовать специализированное устройство, чтобы иметь возможность закрепить его как можно больше (в том числе за счет использования как можно меньшего количества услуг). (4a) Вместо того, чтобы иметь прыжок, в который вы попали SSH, вы также можете настроить VPN-сервер, который позволяет вам просматривать домашнюю сеть со своего устройства в школе (если разрешены исходящие VPN-соединения).