Как поддерживается безопасность при выполнении команд через ssh?

Доброго времени суток коллеги!
Имеется интерес по следующему вопросу.

1) Генерируем ключ ssh
2) Закидываем его на целевую машину (сервер в моем случае)
3) Подключаемся к серверу
ssh user@host - тут все хорошо, вопросов нет
4) Выполняем команду
user@host # ls -la

При подключении к целевой машине (пункт 3) логика проверки ключей мне понятна, доступ к серверу мы получили.

Когда мы пытаемся выполнить команду (впринципе без разницы какую, пускай будет ls -la) (пункт 4)
делаются ли какие-то дополнительные проверки на сервере с точки зрения безопасности?

Есть нелепое предположение, что при каждом выполнении команды делается проверка ключей, думаю скорей всего это не так.
Может кто-то подскажет какой алгоритм выполнения команды на удаленной машине? (При условии что мы уже подключились к серверу).

Достаточно будет источника, где это можно прочитать

Всем спасибо.
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
Когда мы пытаемся выполнить команду (впринципе без разницы какую, пускай будет ls -la) (пункт 4)
делаются ли какие-то дополнительные проверки на сервере с точки зрения безопасности?

Нет. Пользователь зашедший по ssh ничем не отличается от обычного локального пользователя.

Может кто-то подскажет какой алгоритм выполнения команды на удаленной машине? (При условии что мы уже подключились к серверу).

Достаточно посмотреть в вывод команды pstree:
├─sshd(700)─┬─sshd(8208)───sshd(8214,jcmvbkbc)───bash(8215)───ssh(8231)
│           └─sshd(8232)───sshd(8238,jcmvbkbc)───bash(8239)───pstree(8244)

чтобы понять, что после подключения по ssh, sshd (демон ssh, процесс 8238) запускает login-shell (процесс 8239), который показывает приглашение ввода ($). Когда в нём набирается команда pstree (процесс 8244), шелл просто запускает эту команду.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы