Linux история подключений ssh

Содержание
  1. Linux и Windows: помощь админам и пользователям
  2. Администрируем и настраиваем Windows, Linux.
  3. 4 способа определить кто залогинен в Linux
  4. 1. Получаем список пользователей и команды, используемые ими с помощью команды w
  5. 2. Получаем список пользователей с помощью команды who
  6. 3. Узнаем под каким пользователем залогинены вы сами
  7. 4. Смотрим историю подключений пользователя
  8. Как проверить историю входа в Linux
  9. Просмотр истории входа в Linux
  10. 1. Просмотр истории всех зарегистрированных пользователей
  11. 2. Просмотр истории входа определенного пользователя
  12. 3. Отображать IP-адреса в истории входа вместо имени хоста
  13. 4. Отображать только последние N логинов
  14. 5. Просмотр всех неудачных попыток входа на ваш сервер Linux
  15. Как посмотреть текущие SSH подключения?
  16. 4 ответа 4
  17. Скрытность в Linux. Заметаем следы
  18. Узнать Временные Метки Файла
  19. Разница Между Временами «Доступа», «Модификации» и «Изменения»
  20. Изменение Времени «Доступа» и «Модификации» Файла
  21. Подделка Времени «Изменения» Файла
  22. Заметаем Следы 😉
  23. Очистить или Удалить Историю Входов в Linux
  24. Удаление Информации о Последних Подключениях
  25. Очистить Историю Команд в BASH
  26. Полностью удалить историю Bash
  27. Удалить определенную строку из истории Bash
  28. Очистить историю команд текущей сессии
  29. Не сохранять команду в истории Bash
  30. Не сохранять все команды текущей сессии в истории Bash
  31. Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod
  32. Синтаксис
  33. Классы доступа
  34. Операторы
  35. Права доступа
  36. Числовые права доступа
  37. 10 Простых Примеров :
  38. Запуск Команд на Удаленном Linux Сервере через SSH
  39. Выполнение Команд на Удаленном Linux Сервере
  40. Узнать uptime удаленного сервера
  41. Перезагрузить удаленный сервер
  42. Запуск Нескольких Команд через SSH
  43. Узнать Uptime и Disk Usage
  44. Узнать Memory Usage и Load Average
  45. Показать Версию Ядра, информацию о CPU и кол-во RAM
  46. Выполнение Локального Скрипта на Удаленном Linux Сервере
  47. Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине
  48. 7 Советов — Настройка Истории Команд в Bash
  49. 1. Добавляем Отображение Даты и Времени в Bash History
  50. 2. Увеличиваем Размер Хранимой Истории
  51. 3. Добавляем Команды Bash в Файл с Историей
  52. 4. Мгновенно Сохранять Историю Команд
  53. 5. Контролируйте Bash History
  54. 6. Игнорировать Определенные Команды
  55. 7. Одна Команда — Одна Запись в Истории
  56. Изменить Имя Файла с Историй Команд

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

4 способа определить кто залогинен в Linux

Если вы системный администратор, вы в любой момент времени можете захотеть узнать кто залогинен на вашем Linux сервере. Несомневаюсь что вам известен способ, который позволяет вам узнать это, но знаете ли вы все их и используете самый удобный? В этой статье мы рассмотрим 4 возможных способа.

1. Получаем список пользователей и команды, используемые ими с помощью команды w

Команда w используется для получения списка залогиненных пользователей и выполняемых ими команд. Вывод команды w содержит следующие колонки:[cut]

  • Имя пользователя
  • Номер tty
  • Адрес, с которого произошло подключение
  • Время подключения
  • Время бездействия
  • Время, затраченное всеми процессами в данном сеансе (JCPU)
  • Время, потраченное текущим процессом (PCPU)
  • Команда, выполняемая пользователем

Дополнительно могут быть использованы следующие опции:

  • -h игнорировать информацию заголовка
  • -u отображать текущую загрузку
  • -s Удалить из вывода JCPU, PCPU, и время подключения

2. Получаем список пользователей с помощью команды who

Команда who используется для получения списка пользователей, залогиненных в системе. В выводе находятся следующие колонки: имя пользователя, номер tty, дата и время, адрес подключения.

Для получения отсортированного списка используем команду:

3. Узнаем под каким пользователем залогинены вы сами

Команда whoami сообщит вам информацию о том, под какой учетной записью вы залогинены в системе. Полезно использовать с похмелья

whoami дает такую же информацию, как и команда id -un

4. Смотрим историю подключений пользователя

Команда last покажет вам историю подключений для определенного пользователя. Если в качестве аргумента не указан логин какого либо пользователя, отобразится история для всех пользователей. Данная информация берется из файла /var/log/wtmp. В выводе присутствуют следующие колонки:

  • Имя пользователя
  • Номер Tty
  • Время и дата подключения
  • Время отключения
  • Общее время работы сеанса

Постовой

Не хватает фантазии сочинить собственный текст, или просто нет времени? Вам определенно требуется копирайтер, который сделает для вас качественный уникальный материал.

Качественные объективы для фотоаппаратов. Практические все виды объективов по низким ценам.

Источник

Как проверить историю входа в Linux

Даже если у вас нет нескольких пользователей, кто-то, вероятно, пытался получить доступ к вашему серверу Linux. Поверьте нам, это может звучать странно, но в наши дни боты пытаются получить доступ к вашим серверам Linux. Не верите нам? Просто проверьте неудачные попытки входа на ваш сервер, чтобы увидеть, пытался ли кто-нибудь войти в вашу систему.

Позвольте нам показать вам, как просмотреть историю входа в Linux, чтобы вы знали, кто и откуда обращается к вашей системе.

Просмотр истории входа в Linux

Linux очень хорошо ведет журналы всего, что происходит в вашей системе. Вполне естественно, что он также хранит журналы о входе и попытках входа. Информация для входа хранится в трех местах:

  • /var/log/wtmp – Логи последних сеансов входа
  • /var/run/utmp – Журналы текущих сеансов входа
  • /var/log/btmp – Журналы неудачных попыток входа
Читайте также:  Ограничить память для процесса windows

Давайте посмотрим на эти вещи немного подробнее.

1. Просмотр истории всех зарегистрированных пользователей

Чтобы просмотреть историю всех успешных входов в систему, просто используйте команду last.

Вывод должен выглядеть следующим образом. Как видите, в нем перечислены пользователи, IP-адрес, с которого пользователь получил доступ к системе, дата и время входа в систему. pts/0 означает доступ к серверу через SSH.

Последняя строка вывода сообщает вам, когда был создан файл журнала wtmp. Это важно, потому что если файл wtmp был удален недавно, последняя команда не сможет отобразить историю входов в систему до этой даты.

У вас может быть огромная история сеансов входа в систему, поэтому лучше передать вывод с помощью команды less.

2. Просмотр истории входа определенного пользователя

Если вы просто хотите просмотреть историю входа определенного пользователя, вы можете указать имя пользователя с помощью последней команды.

Вы увидите информацию для входа только выбранного пользователя:

3. Отображать IP-адреса в истории входа вместо имени хоста

Вы не могли видеть это в предыдущем выводе, но по умолчанию последняя команда показывает имя хоста вместо IP-адреса пользователя. Если вы находитесь в подсети, вы, вероятно, увидите только имена хостов.

Вы можете принудительно отобразить IP-адреса ранее зарегистрированных пользователей с помощью опции -i.

4. Отображать только последние N логинов

Если у вашей системы хорошее время работы, возможно, ваша история входа будет огромной. Как мы упоминали ранее, вы можете использовать команду less или другие команды просмотра файлов, такие как head или tail.

Последняя команда дает вам возможность отображать только определенное количество истории входа.

Просто замените N на номер, который вы хотите. Вы также можете комбинировать его с именем пользователя.

5. Просмотр всех неудачных попыток входа на ваш сервер Linux

Теперь важная часть: проверка неудачных попыток входа на ваш сервер.

Вы можете сделать это двумя способами. Вы можете использовать последнюю команду с файлом журнала btmp:

или вы можете использовать команду lastb:

Обе эти команды дадут одинаковый результат. Lastb на самом деле является ссылкой на последнюю команду с указанным файлом.

Плохие логины могут быть неверным паролем, введенным законным пользователем. Это также может быть бот, пытающийся взломать ваш пароль.

Вы должны проанализировать здесь и посмотреть, узнаете ли вы IP-адреса в журнале. Если было слишком много попыток входа в систему с определенного IP-адреса с пользователем root, возможно, кто-то пытается атаковать вашу систему с помощью брутфорса.

Вы должны развернуть Fail2Ban для защиты вашего сервера в таких случаях. Fail2Ban забанит такие IP-адреса с вашего сервера и тем самым предоставит вашему серверу дополнительный уровень защиты.

Заключение

Мы надеемся, что эта статья научит вас просматривать историю входа в Linux, и теперь вы можете использовать эти знания для лучшего управления и защиты вашей системы Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как посмотреть текущие SSH подключения?

Хотелось бы с указанием IP. Или это невозможно?

4 ответа 4

Чтобы посмотреть установленные ssh соединения, ss(8):

Чтобы посмотреть, кто залогинен, с какого ip и какую команду выполняют, w(1):

Вывод примерно такой будет:

111.111.11.111 — ip подключившегося.

хотя показаны две строки, но, фактически, это одно соединение к локальному компьютеру ( 10.0.0.1 , порт 22 ( ssh )) с удалённого ( 10.0.0.2 , порт 59964). просто процесс sshd, выполняющийся от имени root, создал дочерний процесс, но уже от имени alice.

пояснения (см. $ man lsof ):

  • -n — не пытаться преобразовывать ip-адреса в доменные имена (может значительно ускорить работу)
  • -a — применить логическую операцию «и» («and»)
  • -itcp — показать tcp-сокеты
  • -stcp:established — показать tcp-сокеты, находящиеся в состоянии «established»
  • -c sshd — показать процессы, запущенные из бинарных файлов, имена которых начинаются строкой sshd

почему два фильтры -itcp и -c sshd вместо одного -itcp:22 ?

потому что в этом случае в вывод попадут и процессы ssh, запущенные локально и подключившиеся к 22-ым портам каких-нибудь машин. к тому же, в случае, если ваш sshd слушает и/или порт(ы), отличный(е) от 22-го, то такие соединения просто не попадут в вывод.

Источник

Скрытность в Linux. Заметаем следы

Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).

Однажды может возникнуть необходимость подделать временные меткикакого-либо файла.

Время доступа (atime), как и время модификации (mtime) могут быть легко изменены с помощью команды touch, но для подделки метки времени изменения (ctime) стандартного решения не существует.

Тем не менее, в качестве обходного пути, можно установить системное время в то значение на которое вы хотите изменить ctime файла, затем использовать команду touch на этом файле и потом откатить системное время обратно.

Из приведенной ниже статьи вы узнаете, как сохраняя анонимность изменять временные метки файла.

Узнать Временные Метки Файла

Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat :

Читайте также:  Как скрыть все открытые окна windows

Разница Между Временами «Доступа», «Модификации» и «Изменения»

Временная метка Когда она обновляется?
atime Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д.
mtime Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл.
ctime Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла.

Изменение Времени «Доступа» и «Модификации» Файла

Изменить время доступа к файлу (atime) :

Изменить время модификации файла (ctime) :

Подделка Времени «Изменения» Файла

Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).

Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.

Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.

Сохраните текущую дату и время в переменную NOW :

Установите поддельное системное время (необходим root) :

Используйте команду touch на файле для изменения всех временных меток на поддельные :

Откатите время назад (необходим root) :

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

Заметаем Следы 😉

Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :

Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :

Очистите историю входов в Linux (необходим root) :

Очистите историю текущей сессии :

Очистить или Удалить Историю Входов в Linux

В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.

Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.

И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.

Команда Журнал логов Описание
last /var/log/wtmp История успешных входов/выходов
lastb /var/log/btmp История неудавшихся попыток входа
lastlog /var/log/lastlog Список последних подключавшихся пользователей

Удаление Информации о Последних Подключениях

Для удаления всей информации о последних подключавшихся пользователях необходимо очистить журналы с логами :

Очистить Историю Команд в BASH

Полностью удалить историю Bash

Выполните следующую команду для полного удаления всей истории Bash :

Опции Описание
-c Очистить файл истории
-w Внести команды текущей сессии в файл с историей

Удалить определенную строку из истории Bash

Опция Описание
-d Удалить строку с указанным номером из истории

Очистить историю команд текущей сессии

Выполните для удаления истории команд только текущей сессии :

Опция Описание
-r Прочитать файл с текущие историей и добавить его содержимое к списку истории команд

Не сохранять команду в истории Bash

Выполнить команду не занося ее в историю Bash :
$ команда
Поставьте пробел перед любой командой и она не будет сохранена в истории Bash.

Не сохранять все команды текущей сессии в истории Bash

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

Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod

Команда сhmod (change mode) служит для изменения прав доступа к файлам и папкам.

Синтаксис

Команды chmod имеет следующий синтаксис :

  • -R, —recursive; изменять файлы и директории рекурсивно
  • -f, —silent, —quiet; не выводить сообщения об ошибках

Показать текущие права на файл / директорию можно с помощью команды ls :

или используя команду stat :

Классы доступа

Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв :

Класс Class Описание
u user владелец файла (папки)
g group пользователи, которые являются членами группы к которой принадлежит файл (папка)
o others пользователи, которые не являются ни владельцем файла (папки), ни входят в группу файла (папки)
a all все три перечисленных выше класса, то же самое что ugo

Операторы

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

Оператор Описание
+ добавить указанные права доступа к указанному классу
убрать указанные права доступа из указанного класса
= присвоить указанные права доступа

Права доступа

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

Права доступа Name Описание
r read права на чтение содержимого файла или директорию (просматривать файлы и поддиректории в папке)
w write права на запись в файл или директорию (создавать файлы и поддиректории в папке)
x execute права на исполнение файла в качестве программы/скрипта либо права на вход в директорию (просмотр дерева каталога)
X special execute права на вход в директорию и права на исполнение файла, в случае, если хотя бы одному классу уже назначено право на исполнение (для любого из user, group или other)
Читайте также:  Windows 10 как выделить часть экрана для скрина

[X] сам по себе не является правом доступа, но тем не менее, может использоваться вместо x. Он на самом деле полезен только в случае использования оператора ‘+’ в сочетании с опцией -R, для того чтобы предоставить группе или остальным пользователям права доступа к дереву каталога, не давая прав на исполнение обычных файлов (например текстовых), что случится при применении команды ‘chmod -R a+rx’. Таким образом вместо нее можно использовать ‘X’, и соответственно выполнить ‘chmod -R a+rX’.

Числовые права доступа

Возможно использование прав доступа как в символьной, так и в числовой форме.

Числовая форма для прав доступа :

  • Первая цифра используется для обозначения user (пользователь)
  • Вторая цифра используется для обозначения group (группа)
  • Третья цифра используется для обозначения others (остальные)
# Права Описание
7 rwx чтение, запись, исполнение
6 rw- чтение, запись
5 r-x чтение, запись
4 r— чтение
3 -wx запись, исполнение
2 -w- запись
1 —x исполнение
0 нет прав

10 Простых Примеров :

1. Добавить всем права на чтение файла :

2. Забрать права на исполнение файла у всех :

3. Добавить всем права на чтение и запись :

4. Установить права на чтение и запись для владельца и забрать права у всех остальных :

5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :

6. Забрать у всех все права :

7. Дать всем права на права на чтение, запись и выполнение файла :

8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :

9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :

10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :

Запуск Команд на Удаленном Linux Сервере через SSH

В этой заметке Вы найдете различные примеры того, как выполнять команды на удаленном Linux сервере и получать результат локально.

Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.

  • выполнить команду на удаленном Linux сервере;
  • запустить множество команд через SSH;
  • выполнить локальный скрипт на удаленном Linux сервере без его копирования.

Выполнение Команд на Удаленном Linux Сервере

Узнать uptime удаленного сервера

Перезагрузить удаленный сервер

Запуск Нескольких Команд через SSH

СПОСОБ 1 :

Узнать Uptime и Disk Usage

СПОСОБ 2 :

Узнать Memory Usage и Load Average

СПОСОБ 3 :

Показать Версию Ядра, информацию о CPU и кол-во RAM

Выполнение Локального Скрипта на Удаленном Linux Сервере

Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине

7 Советов — Настройка Истории Команд в Bash

Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл

Чтобы изменения в

/.bashrc вступили в силу, выполните :

1. Добавляем Отображение Даты и Времени в Bash History

Иногда очень полезно узнать время, когда какая-либо команда была выполнена.

Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.

Для этого добавьте следующую строку в файл

Теперь, набрав history, Вы получите следующий вывод :

2. Увеличиваем Размер Хранимой Истории

Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).

Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).

3. Добавляем Команды Bash в Файл с Историей

Bash перезаписывает файл .bash_history?

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

4. Мгновенно Сохранять Историю Команд

По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.

Если сессия внезапно оборвется Вы потеряете текущую историю команд.

Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения :

Добавьте следующую строку в файл

/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее :

Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана :

5. Контролируйте Bash History

HISTCONTROL — представляет из себя список опций, разделенных двоеточиями.

Они контролируют каким образом список команд сохраняется в истории.

Опция Описание
ignorespace не сохранять строки начинающиеся с символа
ignoredups не сохранять строки, совпадающие с последней выполненной командой
ignoreboth использовать обе опции ‘ignorespace’ и ‘ignoredups’
erasedups удалять ВСЕ дубликаты команд с истории

6. Игнорировать Определенные Команды

HISTIGNORE — список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.

Не сохранять команды ls, ps и history :

Не сохранять команды начинающиеся с s :

7. Одна Команда — Одна Запись в Истории

Сохранять все строки многострочной команды в одной записи списка истории :

Изменить Имя Файла с Историй Команд

Используйте HISTFILE для изменения имени файла, в котором сохраняется история команд. Стандартное значение

Источник

Оцените статью