LINUX.ORG.RU
ФорумAdmin

Не работает SSH


0

1

Добрый день, имеется Ubuntu Server 12.04, выступает в качестве шлюза, поднят squid в прозрачном режиме, iptables, NAT, до перезагрузки всё было замечательно, после перезагрузки отвалился SSH ( Connection Refused ) при попытке подключения, в логах:

Dec  6 16:31:05 PROXY kernel: [4217480.231733] init: ssh main process (31597) terminated with status 255
Dec  6 16:31:05 PROXY kernel: [4217480.231802] init: ssh respawning too fast, stopped
Перед каждой попыткой подключения сервис ssh поднимался вручную, не понятно только сразу ли он падает или после попытки подключения, соотв. iptables выглядит так:
#! /sbin/iptables-restore
# Generated by iptables-save v1.4.12
*nat
:PREROUTING ACCEPT [1195:92907]
:INPUT ACCEPT [212:14627]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination XXX.XXX.X.43:25
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 3000 -j DNAT --to-destination XXX.XXX.X.130:3389
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination XXX.XXX.X.43:80
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 5080 -j DNAT --to-destination XXX.XXX.X.146:80
-A PREROUTING -d [внешнийIP]/32 -p udp -m udp --dport 1:65534 -j DNAT --to-destination XXX.XXX.X.146
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination XXX.XXX.X.2:3389
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 5437 -j DNAT --to-destination XXX.XXX.X.124:5437
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 5438 -j DNAT --to-destination XXX.XXX.X.237:5438
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 7654 -j DNAT --to-destination XXX.XXX.X.210:3389
-A PREROUTING -d [внешнийIP]/32 -p tcp -m tcp --dport 8234 -j DNAT --to-destination XXX.XXX.X.170:3389
-A POSTROUTING -s XXX.XXX.X.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -d XXX.XXX.X.43/32 -p tcp -m tcp --dport 25 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.130/32 -p tcp -m tcp --dport 3000 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.130/32 -p tcp -m tcp --dport 8839 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.43/32 -p tcp -m tcp --dport 80 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.146/32 -p udp -m udp --dport 1:65534 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.2/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.124/32 -p tcp -m tcp --dport 5437 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.238/32 -p tcp -m tcp --dport 5438 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.210/32 -p tcp -m tcp --dport 7654 -j SNAT --to-source [внешнийIP]
-A POSTROUTING -d XXX.XXX.X.170/32 -p tcp -m tcp --dport 8234 -j SNAT --to-source [внешнийIP]
COMMIT
# Completed on 
# Generated by iptables-save v1.4.12 
*filter
:INPUT ACCEPT [60286:7057966]
:FORWARD ACCEPT [1453988:710593203]
:OUTPUT ACCEPT [26578:2205577]
COMMIT
# Completed 
# Generated by iptables-save v1.4.12 
*mangle
:PREROUTING ACCEPT [721473:368307169]
:INPUT ACCEPT [15758:1143642]
:FORWARD ACCEPT [705520:367143917]
:OUTPUT ACCEPT [9197:498383]
:POSTROUTING ACCEPT [714708:367641652]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed


судя по логу у тебя проблема с приложением, а не с сетью
включи отладочные опции и попробуй sshd руками запустить

zolden ★★★★★ ()
Ответ на: комментарий от zolden

Я запускаю его руками, 22й порт пробовал пробрасывать, не помогает, запуск ssh с дебагом не дает внятной информации

Bain ()
Ответ на: комментарий от Bain

аа, так это был лог со стороны клиента...не распарсил
всё равно странный лог, каким образом и куда ломится клиент?
покажи
ip a
ip r
ip r g $sshserver
ping $sshserver
ssh -v server

zolden ★★★★★ ()
Ответ на: комментарий от zolden

Нет, это лог с сервера.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:23:54:96:67:74 brd ff:ff:ff:ff:ff:ff
    inet 10.10.21.56/16 brd 10.10.255.255 scope global eth0
    inet6 fe80::223:54ff:fe96:6774/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0e:04:b7:36:3c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.111/24 brd 192.168.0.255 scope global eth1
    inet6 fe80::20e:4ff:feb7:363c/64 scope link 
       valid_lft forever preferred_lft forever
52: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet [внешнийIP] peer [внешнийIP]/32 scope global ppp0
default dev ppp0  scope link 
10.10.0.0/16 dev eth0  proto kernel  scope link  src 10.10.21.56 
xxx.xxx.x.0/24 dev eth1  proto kernel  scope link  src xxx.xxx.x.111 
[внешнийIP] dev ppp0  proto kernel  scope link  src [внешнийIP]

Пинг есть со всех машин в сети sshv выдает такое: http://s018.radikal.ru/i511/1212/6f/68d0319ec174.jpg Извиняюсь, что фото, не хотелось выводить инфу в файл.

Bain ()
Ответ на: комментарий от Bain

p.s. 111 - сам сервер SSH На всчкий случай конфиг ssh

# Package generated configuration file
# See the sshd_config(5) 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 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

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
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 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

# 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

Bain ()
Ответ на: комментарий от Bain

Я правильно понял, что вы получаете доступ к физической консоли сервера, логинитесь там root'ом, потом с неё запускаете sshd и после этого заходите на сервер по ssh с другого компьютера?

Если так, то попробуйте запустить его «sshd -e -D -d» и смотреть, что он выведет на консоль при подключении.

Посмотрите, нет ли у вас старых файлов конфигурации sshd, которые возникают при обновлении.

mky ★★★★★ ()
Ответ на: комментарий от mky

Вы правильно понимаете, да. Старых файлов нет, пробовал полностью вычищать систему после пуржа ssh. Сделал как вы просили, процесс запустился, но ничего не выводит ( при запуске через etc/init.d ) При просто ssh -e -D -d пишет, что Bad escape character '-D'.

Bain ()
Ответ на: комментарий от Bain

при запуске через /etc/init.d

А это правильно для Ubuntu? Разве там sshd не стартует через upstart, файл /etc/init/ssh.conf? Хотя, /etc/init.d/ssh, вроде, вызывает «/lib/init/upstart-job ssh».

При просто ssh -e -D -d пишет, что Bad escape character '-D'

Почему ssh, а не sshd? У вас ведь ssh-сервер падает?

mky ★★★★★ ()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от mky

1е правильно, 2е поправил, выдает

sshd re-exec requies execution with an absolute path

Bain ()

Можно выводы с сервера:
ps -A | grep ssh
netstat -tapn | grep :22

Если не вернёт процессы, то попробовать вручную
1) service ssh start
2) /usr/sbin/sshd -f /etc/ssh/sshd_config

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

ps -A | grep ssh netstat -tapn | grep :22 ничего не вывели. последняя команда дает

 /var/run/sshd must be owned by root and not group world-writable
с 1й частью понятно, надо назначить владельцем рута? а вторая часть янепонимат

Bain ()
Ответ на: комментарий от Bain

Понял, выполнил chmod 600 на /var/run/sshd и на /etc/ssh/ssh_host_* Заработало, как закрепить результат? Имеется ввиду сохранение работоспособности после ресета.

Bain ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.