Mam zdalnie uruchomioną Linuksa (CentOS 6.0). Ma dynamiczny adres IP, więc zainstalowałem usługę noip2 i skopiowałem plik cp redhat.noip2.sh /etc/profile.d/noip.sh.
Tutaj możesz zobaczyć skrypt noip.sh działający teraz na zawsze przy ponownym uruchomieniu ( patrz ).
Po tym, gdy system uruchomił się raz, nigdy nie miał poprawnej powłoki. W rezultacie zdalnie, gdy próbuję ssh serwera, nie mogę się zalogować i nie mogę nic zrobić. Czy ktoś może to rozwiązać? Oto szczegóły, które próbowałem: Kiedy debuguję ssh, widzę to debug1: Authentication succeeded (password).
i polecenie jest również wysyłane, ale nic się nie dzieje. Po prostu nie mogę tego jeszcze naprawić.
Wszystkie zawiodły:
ssh root@host 'rm -fr /etc/profile.d/noip.sh'
scp emptynoip.sh root@host:/etc/profile.d/noip.sh
ssh root@host /bin/sh
ssh root@host /bin/bash
ssh root@host --norc -i
ssh root@host -- --norc -i
ssh root@host bash --norc -i
ssh root@host /bin/bash -i './etc/profile.d/noip2 stop'
ssh root@host /bin/bash -i './etc/profile.d/noip stop'
ssh root@host /bin/bash -l './etc/profile.d/noip stop'
wiele innych ... kombinacji, które próbowałem, wszystkie zawiodły. Czy jest jakaś pojedyncza opcja, którą mogę wypróbować?
/etc/profile.d
to zły pomysł. (Sytuacja: serwer uruchamia się ponownie, uzyskuje inny adres, ale DNS nie jest aktualizowany, ponieważ profil.d jest uruchamiany w czasie logowania i nie można się zalogować bez uprzedniej aktualizacji DNS ...) /etc/rc.local
Zamiast tego użyj lub podobnie.
profile
pliki mogą być w ten sposób przerywane. Ctrl-Z i Ctrl- \ mogą również działać.