1

Я даже не знаю, возможно ли это, но я решил спросить в любом случае!

Мне интересно, можно ли запустить скрипт сразу после входа в SSH? Моя мысль - создать скрипт на python, который будет выполняться сразу после входа пользователя, требующего ввода данных пользователем (например, ввода пароля). Если проверка не пройдена, то она завершает сеанс пользователя.

Это также было бы удобно для регистрации соединений (отправка оповещений по электронной почте).

EC2 - это фантастика, но если кто-то завладеет моим личным ключом, то сможет получить доступ к серверам. Я знаю, что есть способы предотвратить произвольный доступ с помощью надежных групп безопасности и смены порта, но эй, ловушка для пароля при входе не может повредить!

Кто-нибудь знает, возможно ли это?

1 ответ1

3

Ну, во-первых, просто поместите фразу-пароль на свой закрытый ключ с помощью ssh-keygen -p .

Затем есть несколько способов получить контроль после входа в систему.

  • Один из них - через файл запуска оболочки для пользователя или файл запуска оболочки /etc который есть в некоторых оболочках. 1
  • Другой способ (не работает в старом OpenSSH) - использовать опцию forcecommand в sshd_config.
  • Еще один способ - использовать параметр command= в файле authorized_keys ключах.

Размещение парольной фразы в закрытом ключе не очень хорошо работает для агента, который входит в систему под управлением программы. В этих случаях лучше выделить учетную запись для агента (то есть не использовать интерактивную учетную запись), а затем заставить ее выполнить одно-единственное действие с помощью второго или третьего метода.


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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .