SSH из внешней сети отказался

Я установил open-ssh-server на своем домашнем компьютере (запустил Lubuntu 12.04.1), чтобы подключиться к нему из школы. Вот как я установил файл sshd_config:

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
#Port 22
Port 2222
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
#LogLevel INFO
LogLevel VERBOSE

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net
Banner /etc/sshbanner.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

#specify which accounts can use SSH
AllowUsers onlyme

Я также настроил таблицу перенаправления портов маршрутизатора, чтобы включить:

Порты LAN: 2222-2222 Протокол: IP-адрес локальной сети TCP: «IP-адрес», отображаемый при просмотре «информации о соединении» из контекстного меню системного лотка Удаленные порты [опционально]: n / a Удаленный IP-адрес [опционально]: n / a

Я также пробовал различные другие конфигурации, используя первичные и вторичные DNS, а также с указанием удаленных портов 2222-2222. Я также пытался использовать TCP / UDP (фактически два правила, потому что мой маршрутизатор требует отдельных правил для каждого протокола).

С любой конфигурацией перенаправления портов маршрутизатора я могу войти в систему с помощью

[ f2]

Но когда я пытаюсь войти в школу, используя

ssh -p 2222 onlyme@IP_ADDRESS 

, я получаю сообщение «Нет пути к хосту». То же самое, когда я использую «широковещательный адрес» или «маршрут по умолчанию / первичный DNS». Когда я использую маску подсети, ssh просто зависает. Однако, когда я использую «вторичный DNS», я получаю сообщение «Отказано в подключении».

: ^ (

Кто-нибудь, пожалуйста, помогите мне разобраться, как это сделать.

1
задан 5 December 2012 в 10:02

2 ответа

Как только вы сможете подключиться к машине из вашей локальной сети, остальная часть полностью находится вне контроля Ubuntu, работающего на этом компьютере. Таким образом, проблема, вероятно, будет где-то вне вашего окна Ubuntu. Возможные причины могут включать:

неправильно настроенную переадресацию портов на вашем маршрутизаторе. Обратите внимание, что внутренний IP-адрес вашего устройства может измениться при его перезагрузке, особенно если у вас есть несколько устройств в вашей локальной сети, это может зависеть от адреса заказа, запрашиваемого от DHCP маршрутизатора. Вы можете использовать команду ifconfig в консоли, чтобы увидеть свой IP-адрес. вы используете неправильный IP при попытке подключения извне (на самом деле сообщение «Нет маршрута к хосту» настоятельно указывает на то, что). Google «что такое мой ip», чтобы найти один из многих сайтов, которые расскажут вам, каков ваш текущий внешний IP-адрес. Обратите внимание, что внешний IP-адрес может измениться, если вы перезагрузите маршрутизатор. В качестве «меры безопасности» некоторые поставщики блокируют входящие подключения к портам своего клиента - либо все порты, либо ряд известных портов. В панели управления ISP могут быть некоторые настройки, или вам может потребоваться позвонить им, чтобы понять это.

Таким образом, способ отладки проблемы будет:

неправильно настроенная переадресация портов на вашем маршрутизаторе. Обратите внимание, что внутренний IP-адрес вашего устройства может измениться при его перезагрузке, особенно если у вас есть несколько устройств в вашей локальной сети, это может зависеть от адреса заказа, запрашиваемого от DHCP маршрутизатора. Вы можете использовать команду ifconfig в консоли для просмотра вашего IP-адреса. убедитесь, что вы правильно настроили перенаправление портов на маршрутизаторе, используя правильный внутренний IP-адрес вашего компьютера , используя неправильный IP-адрес при попытке подключения извне (на самом деле, сообщение «Без маршрута к хозяину» настоятельно предлагает это). Google «что такое мой ip», чтобы найти один из многих сайтов, которые расскажут вам, каков ваш текущий внешний IP-адрес. Обратите внимание, что ваш внешний IP-адрес может измениться, если вы перезагрузите маршрутизатор. убедитесь, что вы можете выполнить ping на этом IP-адресе, используйте traceroute, чтобы увидеть, где блокируются пакеты . В качестве «меры безопасности» некоторые поставщики блокируют входящие соединения к портам своего клиента - либо все порты, либо ряд известных портов. В панели управления ISP могут быть некоторые настройки, или вам может потребоваться позвонить им, чтобы понять это.

(также, я не уверен, почему вы упоминаете материал DNS - все выполняется с помощью простых IP-адресов, DNS не имеет к этому никакого отношения)

3
ответ дан 25 May 2018 в 03:40
  • 1
    Когда я использую traceroute, с любым из адресов, я получаю «неизвестный хост», сообщение. Я упомянул DNS-материал, потому что его перечисляли в системном лотке - & gt; connection_information, и я пробовал все там, потому что я не знаю, какой из них использовать. Я предположил, что «вторичный DNS» был моим внешним IP, потому что он дал мне лучшие результаты. Но когда я googled ", что такое мой ip " Он перечислил другой адрес, отличный от всего, что я использовал. Я попробовал, и ssh просто повесил. – wulfsdad 5 December 2012 в 11:23
  • 2
    @wulfsdad: если соединение зависает, это означает, что IP-адрес, который вы используете, может быть правильным, но пакеты молча удаляются либо вашим маршрутизатором (если он не настроен правильно), либо оборудованием вашего интернет-провайдера. В некоторой степени вы можете использовать traceroute для диагностики того, что – Sergey 5 December 2012 в 12:19
  • 3
    Что значит, если traceroute сообщает, что хост неизвестен? – wulfsdad 5 December 2012 в 12:39

Чтение ваших комментариев. Я думаю, что часть проблемы заключается в том, что вы используете неправильный IP-адрес. DNS - это Интернет-книга, а не внешний IP-адрес. Перейдите на сайт Google.com и введите «ip» в поиске. Google сообщит вам ваш внешний IP-адрес.

Также перейдите в библиотеку и используйте один из своих компьютеров, загрузите клиент Portable Putty ЗДЕСЬ (запустите установщик и выберите «Рабочий стол» в качестве места установки, он будет извлекать файлы в папку, просто запустить PuttyPortable.exe), а затем используйте его, чтобы попытаться подключиться к домашнему ПК. Обязательно удалите его после того, как вы сделали это, потому что большинству библиотек не нравится, когда вы загружаете программы на свои ПК (но они все равно не будут проверять).

Есть также интернет-клиенты SSH, которые будут дайте вам бесплатную 5-минутную сессию, чтобы вы могли попробовать их с самого домашнего ПК. Хотя вы можете временно изменить свой пароль, прежде чем пытаться сделать это по соображениям безопасности.

1
ответ дан 25 May 2018 в 03:40

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

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