Як перевірити журнал sshd?


124

У мене встановлено Ubuntu 9.10, sshdі я можу успішно підключитися до нього, використовуючи логін та пароль. Я налаштував RSAлогін ключа, і тепер "Сервер відмовився від нашого ключа", як очікувалося. Гаразд, зараз я хочу перевірити sshdжурнал, щоб з’ясувати проблему. Я перевірив /etc/ssh/sshd_configі це є

SyslogFacility AUTH
LogLevel INFO

Гаразд. Я дивлюсь /var/log/auth.logі ... це порожнє О_О. Зміна Loglevelна VERBOSEнічого не допомагає - auth.logвсе ще порожня. Будь-які підказки, як я можу перевірити sshdжурнал?


7
Ви перевірили конфігурацію syslog? Я не запускаю Ubuntu, але він може перенаправити об'єкт AUTH на інший файл реєстрації. Можливо / var / log / messages?
Проф. Моріарті

Як перевірити конфігурацію syslog? На жаль, я не дуже хороший Linux :(. cat /var/log/messages | grep sshНічого не показує :(.
grigoryvp

Ви праві. /etc/syslog.confпереспрямує AUTH на /var/logauth.log. Будь ласка, напишіть свою відповідь, щоб я міг її прийняти :)
grigoryvp

3
На моїх серверах sshd входить до / var / log / secure. Це налаштовано в /etc/rsyslog.conf, на рядку, що починається "authpriv. *"
Ісаак Бетеш,

1
authpriv ?? Як чорт ми повинні були знати, що має щось спільне з sshd? :-)
Спенсер Вільямс

Відповіді:


7

Якщо ніхто зараз не використовує систему, ви можете зробити те, що я робив у таких випадках:

  • зупинити службу sshd (принаймні, я міг це зробити під час входу через ssh)
  • запустіть sshd вручну та додайте деякі параметри -d, щоб отримати більш детальний вихід налагодження. Якщо у вас не відбувається щось фанк, ви повинні використовувати ті самі ключі та конфігурувати це, коли запускатись належним чином

143
Зупинка SSHD на віддаленому сервері - це дуже погана ідея. Це може вирішити проблему для деяких (або більшості) налаштувань більшу частину часу, але якщо будь-що піде не так - ваш зв’язок, потужність на будь-якому кінці, забудькуватість тощо - ви закриті поза коробкою. Що погана новина.
Засуджений

1
Ну, слід зазначити, що єдиним способом, яким ви могли запустити послугу після зупинки вручну, було б мати якийсь інший доступ до неї, як-от інше віддалене з'єднання, яке не є SSH, або ви сидите перед ним.
Спенсер Вільямс,

26
Як це відповідає на питання? Я приїхав сюди з веб-пошуку, очікуючи навчитися перевіряти файли журналів SSHD, а не те, що для вас спрацювало з якоюсь проблемою ... Блін, я б хотів, щоб читачі в мережі Stack Exchange насправді читали і відповідали на питання, а не питання вони хочуть, щоб це було ....

4
Ви можете запустити інший sshd на іншому порту. Підключіться до цього. Потім зупиніть основний sshd і запустіть новий на порту 22. Якщо щось не вдалося, перезавантажте вікно, використовуючи управління DRAC або хмарою. Ви повинні мати sshd починаючи з завантаження? Не хвилюйтесь.
Бруно Броноський

1
@JoelESalas Громада не вирішує, які відповіді приймати.
kasperd

155

Створивши відповідь на підставі коментарів вище, зарахуйте @Prof. Моріарті та @Eye of Hell

Сюди авторизованих помилок SSH тут реєструються /var/log/auth.log

Нижче наведено лише рядки журналу, що стосуються ssh

grep 'sshd' /var/log/auth.log

Щоб бути в безпечній стороні, знайдіть останні кілька сотень рядків, а потім шукайте (адже якщо файл журналу занадто великий, греп на весь файл зажадає більше системних ресурсів, не кажучи вже про запуск триватиме більше часу)

tail -500 /var/log/auth.log | grep 'sshd'


8
Ця відповідь. Інша відповідь із зеленою стрілкою - помилкова. Змінити стрілку.
meshfields

5
Чому б не використовувати його tail -f ...для моніторингу в режимі реального часу? Чи це проблема з більшими файлами журналів?
ingh.am

6
less +F ...буде "хвіст" в режимі реального часу, і він набагато потужніший за хвіст
northben

5
І lnavнавіть краще, ніж менше / хвіст
Уейн Вернер

7
Пс: якщо ваш сервер Red Hat (як CentOS), шлях журналу записів sshd / login - це / var / log / secure (перевірити / var / log / папку для файлів журналів конкретних дат теж). Дивіться цю відповідь: serverfault.com/questions/465833/…
Брайан Геллекін

14

Якщо ви можете знову спробувати зникне з'єднання легко, одним із простих способів є запуск:

/usr/sbin/sshd -d -p 2222

а потім повторіть з'єднання за допомогою:

ssh -p 2222 user@host

Використовуючи -p 2222так, що нам не доведеться зупиняти основний сервер SSH, який може заблокувати вас.

Дивіться також: https://unix.stackexchange.com/a/55481/32558


1

Якщо ви хочете переглянути всі повідомлення журналу про sshd, запустіть це:

grep -rsh sshd /var/log |sort

2
Журнали почнуться із записів, таких як рік, Mar 14 19:52:04який виключає рік, і їх не легко сортувати (хоча, можливо, вам пощастить, sort --month-sortякщо припустити, що ви не переходите межу між роками). Самі файли журналу вже відсортовані, тому вам доведеться просто сканувати їх у потрібному порядку. Також рекурсивний grep -rвиклик буде дуже повільним для систем з великими журналами. Немає жодної причини додатково сканувати такі речі, як ваші журнали HTTPD.
Адам Кац

1

Ти можеш tail -f /var/log/auth.log


1
Ласкаво просимо до ServerFault. Ви читали питання? Він не отримує дані у цьому файлі. tailЯкщо вона не має ніяких даних у ній.
пташенят

@chicks Це смішно. Відповідь з більшістю голосів майже така ж, як ця ..
Qback
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.