внезапно отпал демон ssh

elenangel

в общем, суть такова. до вчерашнего дня все работало как часы.
сегодня с утра прихожу на работу, пытаюсь подрубиться к серверу с виндовой машинки через putty - получаю "connection refused". туплю. иду перезапускаю sshd на сервере руками. ошибка меняется на "Software caused connection abort".
проверяю файрвол - порт открыт, соединение должно проходить.
лезу с виндовой машины telnet xxx.xxx.xxx.xxx 22
нормально подключается и пишет версию ssh демон, но естественно валится при попытке что-то написать руками.
гуглю.
выясняю в итоге что в логах написано следующее:

Aug 11 09:26:00 mfc-gate sshd[28944]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Aug 11 09:26:00 mfc-gate sshd[28944]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Aug 11 09:26:00 mfc-gate sshd[28944]: error writing /proc/self/oom_adj: Permission denied
Aug 11 09:26:00 mfc-gate sshd[28945]: fatal: No supported key exchange algorithms

файлы с ключами на месте, но права на них выглядят следующим образом:

mfc-gate /etc/ssh $ ls -la
итого 168
drwxr-xr-x 2 root root 4096 2010-01-25 17:48 .
drwxr-xr-x 154 root root 12288 2010-08-11 09:04 ..
-rw-r--r-- 1 root root 125749 2009-10-22 23:50 moduli
-rw-r--r-- 1 root root 1596 2010-05-18 22:38 ssh_config
-rw-r--r-- 1 root root 1912 2010-07-19 10:35 sshd_config
-rw------- 1 root root 668 2010-01-25 17:48 ssh_host_dsa_key
-rw-r--r-- 1 root root 603 2010-01-25 17:48 ssh_host_dsa_key.pub
-rw------- 1 root root 1675 2010-01-25 17:48 ssh_host_rsa_key
-rw-r--r-- 1 root root 395 2010-01-25 17:48 ssh_host_rsa_key.pub

собственно, мне просто переставить права на 666 или 655 или еще как-то?
и от чего оно могло получится - я вчера ядро обновлял, но после этого еще нормально коннектился по ssh из дома, вроде не от этого должно же быть?

katrin2201

включи verbose logging, и попробуй еще раз
права 600 на приватные ключи это нормально
вообще в гугл, это должно гуглиться, хотя проблемы будут разнообразные - драный openssh на много что так ругается

elenangel

пипец. :o
оно заработало после попытки тестового запуска на другом порту:
сделал
sudo /usr/sbin/sshd -d -p 9999
после этого оно стало принимать соединения с на этот порт (локально подрубался затем запустил демона обратно с основными настройками (sudo service ssh start) и внезапно заработало.
я так и не понял что это было. до этого несколько раз перезапускал службу и даже перегружал комп - не помогало.
upd
сейчас сделаю контрольную перезагрузку.

elenangel

упало опять после рестарта.
попробую повторить танец с бубном

elenangel

выяснилось.
сразу после запуска демон sshd вроде как не работает, его нету в списке ps -ef|grep ssh
однако если пытаться запустить на том же порту еще один экземпляр он говорит что не может связаться поскольку порт занят.
если же сделать
sudo killall sshd и потом sudo service ssh start
то он поднимается и работает как надо

elenangel

короче не осилил я докопаться что с ним.
сделал sudo apt-get purge openssh-server
sudo apt-get install openssh-server
и все заработало.
не спортивно конечно.

elenangel

теме ап, сегодня бобик сдох опять с теми же симптомами.
после старта демон занимает порт но не принимает коннекты.
в списке процессов я его не вижу - смотрел с помощью ps -A|grep ssh и ps -ef|grep ssh и те же 2 команды через sudo
после sudo killall sshd и sudo service ssh start он поднимается и далее работает нормально.
и это после purge. в новом конфиге менял только порт на нестандартный.
система Linux Mint 8 2.6.31-22-generic.
сервер OpenSSH_5.1p1 Debian-6ubuntu2

pitrik2

ну натрави netstat на этот порт
пусть покажет кто его занимает
почему ps -ef вместо ps -wwwaux?

jgimi

Проверь при опущенном ssh сервере, возможно, на этом порту пытается работать еще какое-то приложение.
netstat -nap | grep :22
Еще в осознании проблемы может помочь включение расширенного логирования, это уже предлагалось.

AlexV769

почему ps -ef
тяжелое наследие соляриса, я думаю

elenangel

вчера пришли какие-то обновления, которыми баг пофиксился. я предполагаю, что это был пакет ifupdown, но возможно что не он, какие-то библиотеки - и то и другое было в списке обновляемых пакетов.
p.s. но, как говорится, осадочек остался.

написал, и решил перепроверить, хотя с утра все работало. глюк остался.
выяснилось что sshd в rc?.d был прописан под номером 16 (второй в списке). какой должен быть - хз, но похоже он стартовал раньше чем поднималась сеть и падал.
переставил на номер 84, пока работает (проверил 2 перезагрузками).
Оставить комментарий
Имя или ник:
Комментарий: