Как настроить ssh для возможности контроля действий?
Всем привет!
Кто-нибудь знает бесплатный аналог данного софта ? (https://teamshell.ru/)
Интересует возможность настройки следующего функционала:
1) Полное логирование всех действий пользователя, который подключился через ssh
2) Запрет на очистку истории введённых команд
3) Ограничение на запуск команд по определенных ssh
4) было бы здорово иметь возможность настроить совместный доступ к консоли для двух одновременных сессий (но это опционально)
Суть в чем:
Периодически приходиться предоставлять доступ к виртуалкам для разработчиков, хочется контролировать их действия на ВМ, особенно когда просят УЗ с правами root'а.
Дополнительно:
Предложение по второму пункту, копирование скриптом файла истории на какой-либо сетевой диск доступный вам...
действия на ВМ, особенно когда просят УЗ с правами root'а.
Думаеш root можно что-то запретить?
1) Полное логирование всех действий пользователя, который подключился через ssh
Логирование на удаленный сервер. Контроль изменений через etckeeper+git
3) Ограничение на запуск команд по определенных ssh
Пользователю root ?
4) было бы здорово иметь возможность настроить совместный доступ к консоли для двух одновременных сессий (но это опционально)
Вариантов полно, tmux, screen и дальше по списку.
Ответы:
Инструменты платные потому что имеют что то уникальное: набор функционала или удобство в использование.
Все ваши хотелки можно реализовать при помощи разных инструментов, требуется просто поэкспериментировать и много времени провести в гугле.
1. Возможно в этих статьях найдешь ответ 1 статья и 2 статья
2. Ни как.
3. Ссылка
4. Можно использовать Tmate
P.S Если вы предоставляете данные разным людям, то для безопасности я бы все же потратился на покупку удобного ПО для контроля их действий.
- Если там два-три человека, то СМП обычно и бесплатно работают на два-три подключения. Другое дело, что с поддержкой линуха у них пока что не весело.
Рекомендую найти человека который понимает почему ссш не имеет никакого отношения к решаемой задаче. Дальше будет проще.
4) screen
Большую часть ваших потребностей закрывает guacamole
SSHLog
• Open source-инструмент для логирования и мониторинга всей активности юзера после установки им SSH подключения.
- Позволяет админам шарить сеанс другим доверенным юзерам;
- Использует eBPF, писан на С++ и Python;
- Записывает всё, что произошло через SSH;
- Умеет слать предупреждения в слак;
- Ну и еще многое другое...
https://github.com/sshlog/agent
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для настройки SSH (Secure Shell) для контроля действий на удаленном сервере, вам необходимо выполнить следующие шаги:
1. Установите SSH на вашем сервере, если он еще не установлен. Для большинства дистрибутивов Linux это можно сделать с помощью команды:
sudo apt-get install openssh-server
2. После установки SSH, вам необходимо настроить конфигурационный файл. Он находится по пути `/etc/ssh/sshd_config`. Откройте этот файл с помощью любого текстового редактора и внесите необходимые изменения.
3. Настройте доступ к серверу по SSH для конкретного пользователя. Для этого добавьте его публичный SSH ключ в файл `~/.ssh/authorized_keys` на сервере. Публичный ключ можно сгенерировать с помощью команды:
ssh-keygen -t rsa
4. После добавления публичного ключа на сервер, убедитесь, что у пользователя есть права на чтение этого файла:
chmod 600 ~/.ssh/authorized_keys
5. Перезапустите службу SSH для применения изменений:
sudo systemctl restart sshdsudo systemctl restart sshd
Теперь у вас должна быть настроена возможность контроля действий на удаленном сервере по SSH. Для подключения к серверу используйте команду:
ssh username@hostname
Где `username` - ваше имя пользователя на сервере, а `hostname` - IP-адрес или доменное имя сервера.