Подключение к домашним компьютерам за роутером
У меня есть настройка домашней сети за NAT-маршрутизатором с двумя Linux-блоками. Иногда я хочу подключиться к ним из-за пределов домашней сети, но ни у одного из них нет публичного IP-адреса. Какова ваша рекомендация?
В настоящее время я настроил динамическую запись DNS для маршрутизатора, которая перенаправляет все удаленные соединения на один сервер. Если я хочу ssh на другой сервер, я сначала ssh на первый сервер, а затем ssh с первого на второй.
Есть ли возможность подключиться к одному из серверов напрямую через туннелирование ssh или виртуальные домены и тому подобное?
4 ответа
Вы всегда можете перенести порт вперед и использовать отдельный порт для каждой машины. В /etc/ssh/sshd_config
Измените строку, которая говорит:
port 22
на что угодно. Разный для каждой машины, очевидно. Вы можете использовать 22222 для одного и 22223 для другого. Тогда вы можете запустить ssh -p 22222 user@1.2.3.4
например, или в PuTTY измените порт.
Обязательно перезапустите службу sshd после изменения этого, чтобы он перечитал файл конфигурации
Вы можете получить удаленный доступ к оболочке SSH на свой компьютер без IP Public, используя рабочий стол или просто смартфон (например, Android), установив robotito на свой компьютер, который вы хотите получить доступ к SSH удаленно.
- Это позволит вам получить доступ к SSH с помощью клиентских приложений Google Talk в любом месте.
- Нет необходимости в общедоступном IP-адресе или специальных настройках.
- Я бесплатно и с открытым исходным кодом, не оплачивая никаких приложений приложений.
Я сделал скрипт (протестирован на моей raspbian OS в Raspberry Pi), чтобы вы могли легко установить robotito на Raspberry Pi, Debian или Ubuntu Box(дистрибутив пакетов Debian). это шаги для получения удаленной Linux-коробки:
Откройте Команду Shell или вы можете назвать ее Терминалом, перейти в свою домашнюю папку, скачать скрипт установщика командой:
$wget https://opengateway.googlecode.com/files/robotito
после этого запустим скрипт, введя команду:
$sudo ./robotito
а затем вы можете отредактировать файл credentials.rb из папки config, если robotito использует вашу учетную запись gtalk, и сохранить его, нажав ctrl+x и y. По умолчанию используется нано-редактор.
запуск робота из папки robotito по команде
$cd robotito
$./jabbershd start
Теперь, когда это сделано, вы можете использовать ssh из любого клиента Google Talk, не забудьте добавить учетную запись robotito gtalk в свою учетную запись Google Talk и проверить ее в чате друг с другом, прежде чем использовать эту учетную запись.
Проще всего было бы изменить порт, который прослушивает SSH во внутренней сети, и перенаправить эти IP-адреса на правильный внутренний ящик.
Вы можете использовать SSH-туннелирование. Если вы используете OpenSSH, вы можете указать
-Lsomeport:other.host.internal.ip:otherHostSSHPort
в командной строке или после выдачи
<NEWLINE>~C
а потом в другом терминале
ssh localhost -p someport