Usiłuję zbudować plik wsadowy systemu Windows, który rozpoczyna putty / plink z przekierowaniem portów i nic więcej. Część Windows jest do tej pory gotowa:
start plink.exe -ssh -i key.ppk -L 1234:localhost:80 sampleUser@192.168.0.1
Ponieważ nie chcę zezwalać na wykonywanie innych poleceń po uwierzytelnieniu, używam ForceCommand
z Match User
deklaracją:
Match User sampleUser
ForceCommand echo 'Success! Close this window to log out.'
Problem polega na tym, że uruchomienie mojego pliku wsadowego uruchamia szpachlę poprawnie, ale zamyka się natychmiast po wykonaniu echa podanego tekstu.
Moim pomysłem jest użycie czegoś takiego:
ForceCommand echo 'Success! Close this window to log out.' && waitTillControlC
W ten sposób putty / SSH powinien utrzymać połączenie przy życiu i nie wychodzić z mojego przekierowania portów.
Myślałam poleceń takich jak yes
, ping
lub read
, ale
- spamują moje okno terminala
- robią rzeczy / generują niepotrzebne obciążenie procesora
- może niespodziewanie zamknąć się, jeśli ktoś naciśnie klawisz Enter
Czy istnieje polecenie, które nic nie zrobi, na zawsze, dopóki ktoś nie zakończy go za pomocą Ctrl + C lub nie zamknie połączenia SSH przez zamknięcie okna kitu?
Do czego mam używać waitTillControlC
?