Twórz tunele SOCKS za pomocą PuTTY i nologin


1

Chcę zapewnić serwer proxy SOCKS z moim serwerem SSH, ale nie włączać dostępu do powłoki. Utworzyłem użytkownika i zmieniłem jego powłokę na / usr / bin / nologin, ale to oznacza, że ​​kiedy SSH w nim PuTTY natychmiast zamyka ... czy jest jakiś sposób na utrzymanie sesji, aby móc skorzystać z tunelu SOCKS?

Odpowiedzi:


2

Jeśli stosowanie tylko uwierzytelniania za pomocą klucza publicznego jest dopuszczalne, wówczas jedną z metod byłoby dodanie do pliku wyznaczonego wpisu klucza publicznego, authorized_keysktóry wykorzystuje commandopcję ograniczenia tego, co można zrobić. Na przykład:

command="sleep 100000000",no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA...

Po skonfigurowaniu tej konfiguracji za każdym razem, gdy logujesz się przy użyciu tego konkretnego klucza publicznego, sshdautomatycznie uruchomisz polecenie sleep 100000000(zasadniczo czekając na czas nieokreślony), ale uniemożliwi wykonywanie innych poleceń. Nadal jednak powinno być możliwe korzystanie z funkcji proxy SOCKS. Więcej informacji na temat commandopcji można znaleźć na stronie podręcznika sshd (8).


Rozumiem, że jest to potencjalne rozwiązanie, ale jak mogę również zapewnić proxy z uwierzytelnianiem hasła? Dystrybucja klucza nie jest tak łatwa jak kombinacja użytkownik / przepustka, którą można łatwo przekazać osobiście.
deed02392,

Jeśli naprawdę chcesz to zrobić w ten sposób, powinieneś być w stanie zdefiniować własną powłokę typu „nologin”, która po prostu śpi przez długi czas. To znaczy, po prostu zdefiniuj skrypt powłoki, który wywołuje sleep 100000000jak wyżej, i zapisz go jako /usr/local/bin/nologin, lub cokolwiek chcesz. Pamiętaj też, aby dodać go do /etc/shells.
jjlin,

To brzmi jak dobre rozwiązanie. Teraz, kiedy spotykam współpracowników, mogę po prostu udostępnić hasło zamiast organizować wymianę klucza.
deed02392,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.