Jestem w połowie 6-miesięcznej podróży z dala od komputera Mac w domu. Do wczoraj byłem w stanie zdalnie sterować tym Macem za pomocą Screen Sharing przez tunel ssh, ale nagle nie mogę się już połączyć.
Tak otwieram tunel
% ssh -v -p 2200 -l db -L 5901:127.0.0.1:5900 remotecomputer
Mogę sprawdzić, czy usługa działa na komputerze zdalnym
% telnet localhost 5900
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Can't assign requested address
Trying ::1...
Connected to localhost.
Escape character is '^]'.
RFB 003.889
Ale kiedy robię coś podobnego na moim lokalnym komputerze
% telnet 127.0.0.1 5901
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Jak zapewne zauważyłeś, włączyłem pełne rejestrowanie mojego połączenia ssh i to jest wyjście z ssh, kiedy wykonuję test z lokalnego komputera
debug1: Connection to port 5901 forwarding to 127.0.0.1 port 5900 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: administratively prohibited: open failed
debug1: channel 3: free: direct-tcpip: listening port 5901 for 127.0.0.1 port 5900, connect from 127.0.0.1 port 58555, nchannels 4
Mam:
- kill (-9) wszystkie sshd na zdalnej maszynie
- zabił wszystkie ssh (-9) na lokalnym komputerze
- zrestartowano Udostępnianie Ekranu na zdalnym komputerze (sudo launchctl rozładował /System/Library/LaunchDaemons/com.apple.screensharing.plist)
- Szukał podejrzanych otwartych portów na obu urządzeniach sudo (lsof -i -P | grep -i 590)
Wszystko bezskutecznie. W końcu zdalnie zalogowałem się do routera i włączyłem przekierowanie portów z Internetu na zdalny komputer i mogę się połączyć w ten sposób (ale jest bardzo wolny i wcale nie jest bezpieczny).
Nie zmieniłem niczego (zawsze tak mówią…), ponieważ to zadziałało. Jedyne, co mogło się wydarzyć, to to, że zostawiłem uruchomioną funkcję ssh / Screen Sharing i miałem czkawkę sieciową, nie robiąc czystego wyjścia z czegoś.
Jakieś pomysły? Myślę, że ssh jest winowajcą, ale nie wiem, jak i dlaczego.