Как я могу использовать свой новый openssh-сервер с внешним IP-адресом снаружи Локальной сети?
Цель состоит в том, что администратор внешнего компьютера снаружи Локальной сети должен смочь администрировать openssh-сервер (корневые права, установка программного обеспечения и данных) через Интернет.
Техническая установка:
Local Area Network = Router + openssh-server + openssh-client
openssh-сервер полное шифрование диска сервера Ubuntu 14.04.1 внутренний IP 111.111.111.111, внешний IP-адрес, данный Интернет-провайдером 222.222.222.222, два свободных порта 22 (TCP, UDP) набор в маршрутизаторе для этого компьютера, пользователь MaximGorki
openssh-клиент настольное полное шифрование диска Ubuntu 14.04.1 внутренний IP 111.111.111.110, внешний IP-адрес, данный Интернет-провайдером 222.222.222.222
Я могу войти в систему в openssh-сервер от openssh-клиента в Локальной сети (LAN) с помощью IP-адреса, установленного маршрутизатором для openssh-сервера 111.111.111.111.
С openssh-сервера я хочу соединиться с openssh-сервером с командной строкой:
ssh MaximGorki@111.111.111.111
ssh MaximGorki@222.222.222.222
Внутренний IP-адрес работает с паролем.
Внешний IP-адрес не работает от openssh-клиентского компьютера, который является в Локальной сети:
ssh: соединитесь для хостинга 222.222.222.222 портов 22: Соединение приведено к таймауту
Я настроил также pubkey функцию. Но это не работает. Я не знаю почему. Поэтому я был бы рад получить доступ к openssh-серверу только аутентификацией по паролю.
Я хочу протестировать, если openssh-сервер доступен от внешнего IP-адреса.
Что я должен настроить или изменить в который компьютер как?
Мое ноу-хау Linux очень ограничено, дайте полный синтаксис командной строки как примеры, если Вы видите ответ.
После рекомендации одного ответа я добавил 4 правила к исходному iptables. Iptables смотрят теперь так:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source
218 16703 ACCEPT all -- any any anywhere state RELATED,ESTABLISHED
0 0 ACCEPT all -- any any 222.222.222.222
0 0 ACCEPT tcp -- any any anywhere tcp dpt:22
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source
0 0 ACCEPT all -- any any anywhere state RELATED,ESTABLISHED
0 0 ACCEPT all -- any any anywhere state RELATED,ESTABLISHED
0 0 ACCEPT all -- any any anywhere state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT 10 packets, 2082 bytes)
pkts bytes target prot opt in out source
Моя ошибка не устанавливала порты в ssh_config, sshd_config и маршрутизатор к тому же числу. Ранее, я изменил номера портов. Я перепутал файлы конфигурации для сервера и клиента. Теперь все порты во всех файлах конфигурации и в маршрутизаторе имеют то же число. Теперь я могу получить доступ к серверу от клиента, использующего внешний IP-адрес.
Для этого необходимо было бы передать порт, который Вы пытаетесь соединить через на Вашем маршрутизаторе. Вы можете Google вокруг для получения инструкций относительно этого, поскольку он варьируется много с различными производителями и моделями.
Проверьте iptables на ограничение брандмауэра. Попытайтесь добавить ниже строк в Iptables и проверьте, в состоянии ли Вы получить доступ к машине через ssh
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -s 222.222.222.222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
, Если вышеупомянутое не работает, проверяют Вас установка маршрутизатора, передается ли порт правильно
Вы удостоверились, что Ваш маршрутизатор может (и включать) Обратная петля NAT / Hairpinning?
В противном случае Вы не можете соединиться с устройством на своей LAN через Ваш внешний IP. Попытайтесь ограничить телефон своим клиентом вместо того, чтобы использовать Ваше интернет-соединение LAN с тестом. Кроме того, используйте прокси, VPN или просто попытайтесь установить соединение из другой сети.