Mój układ sieci wygląda mniej więcej tak:
Teraz Alice ma dostęp do bramy SSH (tylko brama od teraz) dzięki:
ssh [email protected]
i plik autoryzowanych kluczy w bramie wygląda następująco
#/home/Alice/.ssh/authorized_keys
command="ssh -t alice@web" ssh-rsa ABCD...E== alice@somehost
więc kiedy Alice próbuje połączyć się z Bramą za pomocą swojego klucza prywatnego, faktycznie łączy się z serwerem sieciowym (komputer bramy może nawiązać połączenie z serwerem WWW za pomocą klucza prywatnego bez hasła, aby zachować przejrzystość).
Pytanie
Jak mogę to skonfigurować, aby Alice mogła również scpować różne rzeczy na serwerze WWW?
Wiem, że tworzy to osobne połączenie, ale czy jest jakiś sposób, aby działało to jak zwykły ssh, aby nawet coś takiego
-R12345:localhost:22
działało?
Miałem dokładnie taki sam problem jak ten, ale udało mi się działać bez radykalnej zmiany wszystkiego.
Wszystko, co zrobiłem, to dodać $ SSH_ORIGINAL_COMMAND do bramy uprawnionych kluczy, aby przekazać wszystko przez łańcuch do końcowego serwera.
Więc to:
Staje się:
-Q służy do pomijania komunikatu o zamknięciu połączenia z maszyny punktu końcowego, więc nie kończy się na lokalnym wyjściu, jeśli używasz przekierowania lokalnie.
Następnie możesz użyć scp w następujący sposób:
Ma to tę dodatkową zaletę, że pozwala użytkownikom przekazywać polecenia za pomocą poleceń do serwera punktu końcowego i uzyskiwać wyniki z powrotem w lokalnej sesji, aby mogli przekierować je do pliku lub potokować do innego programu.
Na przykład:
Działa to, ponieważ wydaje się, że sshd zapełnia zmienną środowiskową $ SSH_ORIGINAL_COMMAND za pomocą polecenia określonego przez klienta ssh, ale nie jestem pewien, dlaczego to cudownie pozwala scp przejść do komputera końcowego, a także poleceń.
źródło
Niestety przekierowanie portów nie pomogłoby skopiować plików bezpośrednio ze stacji roboczej Alicji na serwer sieciowy przy użyciu
scp
. W tym poście SO wyjaśniłem, dlaczego ssh (i scp, ponieważ wykorzystuje te same mechanizmy uwierzytelniania) nie będzie działać dla połączeń przekazywanych przez port za pomocą ssh.Opcją byłoby skonfigurowanie serwera VPN na komputerze działającym teraz jako brama SSH, połączenie się z nim, a następnie bezpośredni dostęp do dowolnej maszyny za zaporą ogniową.
źródło