Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.
Привет всем! Есть ПК с Ubuntu 9.10. Он выходит в интернет через интерфейс eth0, через xDSL модем Acorp 420 c включЁнным NAT и проброшенным портом для №22 TCP,UDP, динамическим внешним IP. На нЁм я поднял SSH-сервер со следующим конфигом:
Код:
# Package generated configuration file
# See the sshd(8) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_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
# Authentication:
LoginGraceTime 60
PermitRootLogin yes
StrictModes yes
RSAAuthentication no
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 no
# 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 yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM no
Через нетбук, подключЁнный к тому же Acorp 420 я пытаюсь зайти на десктоп, по SSH, обращаясь через только что узнанный внешний IP. На что мне отвечают, что "Connection Refused". Насколько я понимаю, что никто порт 22 не слушает. Хотя, должен. К слову сказать,
Это зависит от того, какую систему логирования вы используете. Если вы задаете подобные вопросы, то скорее всего не используете никакую). На всякий случай:
Log'ит rsyslog. /var/log/messages довольно обширен, но фильтр "grep SSH" ничего не выдаЁт. AlexYeCu, я, честно говоря, не понял, что за "AllowUsers" и в каком формате их надо записывать...
Log'ит rsyslog. /var/log/messages довольно обширен, но фильтр "grep SSH" ничего не выдаЁт. AlexYeCu, я, честно говоря, не понял, что за "AllowUsers" и в каком формате их надо записывать...
AllowUsers kma21@192.168.112.54
Какому юзеру с какого ip можно заходить. Прописывается в sshd_config. В мане расписано. Рекомендуется заходить от того юзера, который не имеет прав на хомяк основного. И ес-но root`ом не надо заходить, для root`а — su.
Я не уверен и в постоянной маске. Да и даже если она будет постоянна, может возникнуть потребность доступа с другого ПК, у которого маска будет другая. Дело в том, что на моЁм хостинге-то сделан доступ с помощью пары логин/пароль... В чЁм у меня проблема...
Вы уверены, что порт корректно проброшен? Потому что если информация застревает на этапе роутера, то бесполезно искать ssh в логах. Если есть возможность - просканируйте nmap'ом свой ip извне.
Кстати у меня на ноуте те же симптомы были. Нужно было быстро нарулить доступ к нему, поставил sshd, но на тачку не залогинился. Ибо 22 порт не виделся. Разбираться времени не было. Но конфиг стандартный был 100%, т.е. такое ощущение что держало что-то другое. В итоге потом его удалил за ненадобностью.
-//- Реальная смерть приходит с косой, а виртуальная с пассатижами -//-
для начала - зайдите локально со второго компьютера:
ssh 192.168.1.2
(наберите IP сервера SSH, в консоли клиента)
когда настроите локальный вход, тогда и открывайте какой-нибудь порт (вроде 31783) наружу, и всё будет работать.
Естественно логин рута надо отключить (в SSH), и порт выбрать другой (не 22 и не 31783). кроме того, задайте всем своим юзерам нормальный пароль, или запретите им вход по ssh (а лучше задайте и запретите).
Используйте идентификацию по ключу. В мануалах сказано как перенести ключ - НЕ делайте так! Это только для случая, когда сервер недоступен. У вас он доступен, и потому переносите ключ например на флешке.
Локальных вход работает. Порт открыт (по данным http://www.whatsmyip.org/ports/). Зайти не получается. Длительное ожидание, непонятно чего и таймаут. Может быть такое, что из ПК, находящегося с сервером в одной локальной сети нельзя зайти на сервер снаружи?
Локальных вход работает. Порт открыт (по данным http://www.whatsmyip.org/ports/). Зайти не получается. Длительное ожидание, непонятно чего и таймаут. Может быть такое, что из ПК, находящегося с сервером в одной локальной сети нельзя зайти на сервер снаружи?
я имел ввиду "локально" - с другого компьютера в той-же локалке, за тем-же роутером.
то что пишет whatsmyip - это ерунда: ваш роутер откликается на запросы с этого сервера, что совсем не значит, что запросы сервера передаются на компьютер, в котором стоит SSH сервер, который и должен откликаться. Впрочем, он тоже может промолчать, если вы ему подсунете неверный ключ например. Но об этом будет записано в логах SSH сервера - их-то и надо почитать. Я вам предлагаю протестировать работу сервера (скажем 192.168.1.2:22) с другого вашего компьютера, например 192.168.1.3 (если там стоит венда, то это тоже возможно, puppy вроде называется прога). Порты внутри вашей сети открыты, потому это сделать возможно. Даже если и сервер не ответит, то в его логе будет запись об этом. Так как входите вы "локально", по 127/8, заходить смысла особого нет - это будет работать даже и без сетевых карточек...
alexandr@alexandr-desktop:~$ sudo nmap -A -T4 kav17.homeunix.org
Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-07 12:50 MSK
Interesting ports on kav17.homeunix.org (178.67.207.240):
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
23/tcp open telnet BusyBox telnetd
80/tcp open http thttpd
|_ html-title: >Log In
Device type: WAP|broadband router
Running: Acorp embedded, MontaVista Linux 2.4.X
OS details: Acorp W400G or W422G wireless ADSL modem (MontaVista embedded Linux 2.4.17), MontaVista embedded Linux 2.4.17
Network Distance: 0 hops
Service Info: Host: router
TRACEROUTE (using port 139/tcp)
HOP RTT ADDRESS
1 0.68 kav17.homeunix.org (178.67.207.240)
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.32 seconds
Попробовал заставить слушать SSH открытый 23-й порт и войти через него - таймаут.
Вот в том то и дело, что в модеме, в разделе Port Forwarding в активных есть правило, созданное мной, с открытым для TCP/UDP портом 22. И вроде торрент качалки по таким же правилам (только для другого порта) работают. А SSH нет.
nmap, да. Но пробиваю по домену, который привязан к моему SSH-серверу через dyndns.
Вот в том то и дело, что в модеме, в разделе Port Forwarding в активных есть правило, созданное мной, с открытым для TCP/UDP портом 22. И вроде торрент качалки по таким же правилам (только для другого порта) работают. А SSH нет.
nmap, да. Но пробиваю по домену, который привязан к моему SSH-серверу через dyndns.
ваше доменное имя привязано не к компьютеру, а к роутеру. Т.е. вы вовсе не компьютер проверяете так.например, если вы зайдёте по этому адресу по 80му порту, то увидите админку модема, а если вы правильно пробросите 80й порт, и поставите http сервер, то вы ВСЁ РАВНО попадёте в админку модема (а я попаду на ваш сайт). Т.о. ваш внешний IP является для вас аналогом адреса вашего роутера, обычно 192.168.1.1.
ЕМНИП там достаточно только TCP, и кроме того, имеется стандартное правило для SSH
Ну тогда, в принципе, всЁ логично. Я пытаюсь влезть по SSH в модем, а там ничего подобного нет. Вот и timeout. Т.е. проблемы с пробросом порта...
Вообщем, походу, надо писать в саппорт Acorp.
Подумал-подумал и придумал, что они скажут, грешите на свою ОС и SSH сервер. Что-то вообще непонятное твориться... Может попробовать поднять на каком-то другом дистрибутиве?
Может попробовать поднять на каком-то другом дистрибутиве?
Толку от этого будет 0. Ведь внутри своей локалки у вас получается досучаться по ссш.
Я попытался подключиться по ссш по указанному выше адресу и так же наткнулся на connection refused.
Это говорит о том, что порт не проброшен.
Разберитесь как корректно пробросить порт на вашем модеме и тогда все будет работать.
и поставите http сервер, то вы ВСЁ РАВНО попадёте в админку модема
Почему я при аналогичной сехме не попадаю в админку модема изнутри?
Я в админку попадаю лишь по 192.168.1.1. А при обращении по доменному имени - на сайт.
Это что-то парадоксальное, потому что я пробрасывал порт для торрент-клиента и он работал. И рейтинг считался на торрент-трекерах =). Вообщем, буду писать в саппорт.
Подумал-подумал и придумал, что они скажут, грешите на свою ОС и SSH сервер. Что-то вообще непонятное твориться... Может попробовать поднять на каком-то другом дистрибутиве?
не. вы в своём разберитесь. я уже писал - не можете разобраться - дайте логи.
или - сами.
ЗЫЖ оффтоп
сегодня предпраздничный день, восьмое марта.
я тут подумал-подумал... может вы мну тестируете? типа вам специалист нужен? дык вы так и напишите...
чтож вы прям как Зоя Космодемьянская свои логи в укромном месте прячете? всё равно-ж фашисты найдут...
Но в /var/log/messages ничегошеньки про SSH нет, поэтому я ничего и не показываю =)
Ну как это нет. Если вы подсоеденились через локалку, значит в логах уже должны быть записи. Если их нет, то логирование sshd не идет. Или идет куда-то еще... Ищите.
Человек, говорящий, что это невозможно сделать, не должен мешать тому, кто это делает.
Ха-ха-ха. Log'ит у меня rsyslog. Но в /var/log/messages ничегошеньки про SSH нет, поэтому я ничего и не показываю =)
ну значит у вас что-то криво настроено.
поставьте в ssh_config
LogLevel
Gives the verbosity level that is used when logging messages from ssh(1). The possible values are:
QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO. DEBUG
and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher levels of verbose output.
по умолчанию INFO, потому немного написано (хотя вход фиксируется, только-что проверял)