Całkowicie nowy w Linuksie i Ubnuntu. Konfigurowanie maszyny do głębokiego uczenia / sieci neuronowych. Jak dotąd idzie dobrze. Mam wszystko zainstalowane i uruchomione. Chcę móc ssh z mojego laptopa Mac, aby korzystać z systemu. Zainstalowałem openssh i działałem .
Jednak po ponownym uruchomieniu komputera serwer ssh nie uruchamia się ponownie. Sprawdzam za pomocą, sudo service ssh status
a raporty i błędy. Następnie mogę go uruchomić i wszystko działa dobrze.
Moją pierwszą myślą było to, że muszę powiedzieć, aby zaczęło się przy ponownym uruchomieniu, i znalazłem ten wątek, który mówi, że powinien zacząć się domyślnie i nie muszę dodawać chrontab ani nic takiego. Więc nie sądzę, że o to chodzi.
Potem znalazłem ten wątek, który sugeruje użycie polecenia sudo update-rc.d ssh defaults
, ale ten wątek jest dość stary i wydaje się, że odpowiedź była nieprawdziwa nawet wtedy?
Znalazłem więc ten wątek, który sugeruje skomentowanie ListenAddress
linii w pliku sshd_config . Zasadniczo mówi, że jeśli ListenAddress jest używany, może próbować uzyskać adres IP przed przypisaniem go przez DCHP, więc uruchomienie nie powiedzie się. Co ma sens. Potrzebuję tego parametru, aby przekierowanie portów działało w mojej sieci domowej.
Dokumentacja ta pod wpisem ListenAddress mówi o tym
The default is to listen on all local addresses.
Więc może nie potrzebuję tego, aby przekierowanie portów działało?
Śledziłem poprzedni wątek do tego raportu o błędach, który również jest dość stary, ale sugeruje użycie menedżera sieci do restartowania ssh za każdym razem, gdy netmanager otrzymuje nowe IP.
echo /etc/init.d/ssh restart > /etc/NetworkManager/dispatcher.d/10ssh
chmod 755 /etc/NetworkManager/dispatcher.d/10ssh
To o wiele więcej niż ten noobie może ocenić w tym momencie. Czy to jest bezpieczne? Czy to jest na to sposób? Czy w ciągu ostatnich 7 lat opracowano coś jeszcze?
Każda rada byłaby świetna. Dzięki.
systemctl status ssh
wynik?systemctl status NetworkManager-wait-online.service
Odpowiedzi:
Czy próbowałeś po prostu ustawić
?
Tak mam ustawić mój ssh do uruchamiania podczas uruchamiania.
**** Pozostawiam w powyższej części odpowiedzi na wypadek, gdyby była pomocna dla innych osób, które napotkają ten post ****
Cytując mój komentarz z góry:
ListenAddress nie ma nic wspólnego z przekręcaniem portów, ListenAdress może być używany dla serwera, który jest skonfigurowany z wieloma adresami IP przez jedną lub więcej kart sieciowych. Cytowanie stąd (cała strona jest dobrym wyjaśnieniem): https://www.cyberciti.biz/tips/howto-openssh-sshd-listen-multiple-ip-address.html
To pozwala jednemu z wielu twoich adresów IP zaakceptować połączenia ssh. Domyślam się, że ustawiłeś ListenAddress albo na swój publiczny adres IP, albo na wewnętrzny adres IP routera - domyślam się, że jeśli ustawisz to na lokalny adres IP twojego serwera, działałoby to dobrze. Niezależnie od tego, teraz wiesz, jak działa ListenAddress i będziesz gotowy, jeśli będziesz musiał skonfigurować bardziej skomplikowany serwer. Cieszę się, że wszystko działa.
źródło
ls -l /etc/systemd/system/sshd.service
Ponieważ sugerowane rozwiązanie nie zadziałało, w końcu odkryłem, że potrzebne jest dodatkowe polecenie, aby uruchomić SSH podczas rozruchu:
Niektórzy wspominali, że to polecenie:
należy wykonać zamiast tego polecenia:
źródło