Chcę ustawić alias w moim pliku konfiguracyjnym, który ma taki sam wynik jak to polecenie:
ssh -N devdb -L 1234:127.0.0.1:1234
Mój wpis .ssh / config dla devdb
:
Host devdb
User someuser
HostName the_hostname
LocalForward 1234 127.0.0.1:1234
Co mam umieścić w powyższej konfiguracji, aby nie uruchamiać powłoki?
ssh
ssh-config
mikeb
źródło
źródło
Odpowiedzi:
Tak więc w
ssh.c
OpenSSH 7.6p1 znajdujemypodobnie
-N
dwie rzeczy:no_shell_flag
pojawia się tylko wssh.c
i jest dostępna tylko dla-W
lub-N
opcji, w przeciwnym razie pojawi się ona w niektórych bloków logicznych związanychControlPersist
i sprawdzania czystości udziałem widelce tła. Nie widzę sposobu, w jaki opcja mogłaby to bezpośrednio ustawić.readconf.c
zerequest_tty
odpowiadaRequestTTY
opcji wyszczególnionych wssh_config(5)
.To pozostawia (oprócz małpowania łatania OpenSSH i ponownej kompilacji lub proszenia o
ssh_config
opcję przełączaniano_shell_flag
z ...) coś takiego:Co technicznie powoduje uruchomienie powłoki, ale powłoka ta powinna natychmiast zastąpić się
cat
programem, który powinien następnie zablokować, umożliwiając w międzyczasie użycie portu forward.cat
jest przenośny, ale zużywa dane wejściowe (jeśli takie istnieją) lub może zawieść (jeśli standardowe wejście jest zamknięte). Inną opcją byłoby uruchomienie czegoś, co po prostu blokuje .źródło
.ssh/config
... dobra robota!RemoteCommand exec sleep infinity
.@ thrig ma właściwą odpowiedź na podstawie twojego pragnienia, aby zrobić to wyłącznie wewnątrz
.ssh/config
Można również rozważyć użycie funkcji z ustawieniami domyślnymi, aby przyspieszyć wykonywanie innych poleceń tunelu (zwłaszcza jeśli tunel się nie zmienia, a jedynie host).
Oto trzy przykłady użycia: bez argumentów używane są wartości domyślne określone w funkcji:
z domyślnym tunelem uruchom na innym hoście:
w przypadku obu wartości domyślnych uruchom pełną jednorazową operację na nowym hoście / tunelu:
źródło
Bardziej przydatne zdalne polecenie oparte na odpowiedzi @ thrig:
read -r -d '' _
Zablokuje połączenia aż prasy użytkownikacontrol+c
.źródło