Użytkownicy zalogowani na moim serwerze Linux powinni mieć możliwość ssh do określonego zdalnego komputera z domyślnym kontem. Uwierzytelnianie na zdalnym komputerze wykorzystuje klucz publiczny, więc na serwerze dostępny jest odpowiedni klucz prywatny.
Nie chcę, aby użytkownicy serwera mogli odczytać klucz prywatny. Zasadniczo fakt, że mają dostęp do serwera, pozwala im na poprawne połączenie ssh, a usunięcie ich z serwera powinno również uniemożliwić połączenie ze zdalnym komputerem.
Jak mogę pozwolić użytkownikom na otwieranie połączenia ssh, nie dając im dostępu do odczytu klucza prywatnego?
Moje dotychczasowe przemyślenia: oczywiście plik wykonywalny ssh musi być w stanie odczytać klucz prywatny, więc musi działać pod innym użytkownikiem na serwerze, który ma te prawa. Po ustanowieniu połączenia ssh mogę „przekazać” je użytkownikowi, aby mógł wprowadzać polecenia i wchodzić w interakcje ze zdalnym komputerem.
- Czy to dobre podejście?
- Jak powinienem wdrożyć forward?
- W jaki sposób użytkownik może zainicjować połączenie (to znaczy wykonanie ssh przez użytkownika, który ma uprawnienia do odczytu klucza)?
- Czy istnieje luka w zabezpieczeniach? - jeśli użytkownicy mogą wykonać ssh jako inny użytkownik, to czy mogą zrobić wszystko, co inny użytkownik może (w tym odczyt klucza prywatnego)?
~/.ssh/authorized_keys
pliku?