Mam system produkcyjny, w którym kilka różnych osób może zalogować się na jedno konto - konto dotyczy aplikacji, a nie osoby, ponieważ nie mamy kont osobistych na serwerach produkcyjnych.
Do celów kontrolnych chcę być w stanie powiedzieć, kto się zalogował i kiedy używamy kluczy SSH do logowania, logiczne wydaje się to śledzenie (ponieważ nie ma innego identyfikatora do śledzenia).
Gdy SSH uwierzytelnia użytkownika, loguje nazwę użytkownika do dziennika bezpieczeństwa systemu, ale nie rejestruje, który z autoryzowanych kluczy publicznych został użyty przy logowaniu. Czy możliwe jest, aby OpenSSH również raportował, który klucz publiczny został użyty, a może tylko komentarz związany z tym kluczem?
Używany system operacyjny to CentOS 5.6, ale chciałbym również usłyszeć, czy jest to możliwe w innych systemach operacyjnych.
źródło
authorized_keys
pliku, więc stworzyłem ten mały skrypt, aby wydrukować odciski palców autoryzowanych kluczy:(p="$(mktemp)";cat ~/.ssh/authorized_keys|while IFS="$(printf "\n")" read key; do echo $key > $p; ssh-keygen -lf $p; done; rm -f $p)
Jeśli twoi ludzie używają ssh-agent, możesz umieścić to w swoim .bashrc:
źródło
Spróbuj pobawić się z
LogLevel
parametrem wsshd_config
. Aby uzyskać szczegółowe informacje, patrzman sshd_config
źródło
Ładny wpis na blogu odpowiada na twoje pytanie: http://www.screenage.de/blog/2012/02/10/how-to-log-history-and-logins-from-multiple-ssh-keys-under-one- konto użytkownika z marionetką /
źródło