Dziwny problem z SSH - nawet się nie uruchomi

10

Niedawno dostałem Ubuntu 12.04 Precise, uruchomiłem go z pewnym oprogramowaniem MediaWiki, statycznym adresem IP na pudełku i routerze i mogłem uzyskać dostęp do strony głównej nawet z telefonu komórkowego. Wszystko wydawało się świetne ...

Potem chciałem w końcu pozbyć się monitora i klawiatury i zalogować się zdalnie przez SSH.

Zainstalowałem openssh-server, niech wszystko wskazuje port 22 do uruchomienia testowego i zainstalowałem kit na moim komputerze z systemem Windows XP. Odmówiono połączenia. Wróciłem i zacząłem sprawdzać samą instalację Ubuntu ... (od tego momentu jestem rootem)

$ sudo -s

$ service ssh status
ssh stop/waiting

$ service ssh start
ssh start/running, process 2212

$ service ssh status
ssh stop/waiting

Najwyraźniej ssh zatrzymał się lub na coś czeka ...

$ ssh localhost
ssh: connect to host localhost port 22: Connection refused

Nie mogę się nawet połączyć ze sobą ... Sprawdziłem ufw (firewall), aby sprawdzić, czy port 22 działa dobrze ...

$ sudo ufw status
Status: active
To        Action        From
22        ALLOW         Anywhere
22/tcp    ALLOW         Anywhere
22        ALLOW         Anywhere (v6)
22/tcp    ALLOW         Anywhere (v6)

sshd_config pokazuje tylko Port 22

Czy ssh w ogóle nie używa właściwego adresu IP? Po prostu nie rozumiem, co zrobiłem źle tutaj. Kiedy to się uruchomi, z pewnością zmienię numer portu, ale na razie nie chcę zbytnio popsuć domyślnej instalacji, dopóki test nie zakończy się pomyślnie.

Edytować:

Oto mój plik sshd_config i mój plik ssh_config .

Polecenie /usr/sbin/sshd -p 22 -D -d -ezwraca:

/ etc / ssh / sshd_config wiersz 159: Podsystem „sftp” jest już zdefiniowany.

Edycja: @ phoibus przeniesienie pliku sshd_config i ponowna instalacja pomogły!

status usługi ssh

powyższe polecenie pokazuje, że ssh jest teraz uruchomiony i jestem w stanie zalogować się zdalnie z mojego komputera z systemem Windows XP za pomocą putty. Dzięki wielkie! Teraz mogę używać mojego monitora do innych celów!

tal85
źródło
1
Czy możesz opublikować swój ssh /etc/ssh/ssh_configna pastebin ( paste.ubuntu.com ) i edytować swoje pytanie, aby zawierało link?
con-f-use
Zatrzymaj usługę sshd i uruchomić sshd w trybie debugowania autonomicznego: /usr/sbin/sshd -p 22 -D -d -e. Spróbuj połączyć się i zobacz, co się stanie.
phoibos
Cieszę się, że to zadziałało! Usuń swoją odpowiedź, ponieważ opublikowałeś informacje w swoim poście i zaakceptuj moją odpowiedź, aby oznaczyć pytanie jako rozwiązane.
phoibos,
jeśli dzieje się tak u wszystkich użytkowników, upewnij się, że postępujesz zgodnie z tym dokumentem help.ubuntu.com/community/SSH/OpenSSH/Configuring, szczególnie sprawdź ten dokument, część o / etc / ssh / ssh_host_dsa_key w tym dokumencie askubuntu.com/questions / 485777 /… .
JimLohse

Odpowiedzi:

10

W twoim /etc/ssh/sshd_configpliku są zduplikowane sekcje .

Zmień nazwę sshd_configpliku

sudo mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old

i zainstaluj ponownie, openssh-serveraby uzyskać oryginalny plik:

sudo apt-get install --reinstall openssh-server

Sprawdź, czy teraz działa.

phoibos
źródło
5

Mój problem był również problemem z ustawieniem, ale nie mogłem ustalić, która z moich zmian była problemem. Po odrobinie kopania możesz uruchomić, sshd -ta wszelkie sshd_configbłędy zostaną zgłoszone.

root@sh1:/etc/ssh# sshd -t /etc/ssh/sshd_config line 102: Directive 'UsePAM' is not allowed within a Match block

Co oznacza, że ​​ustawienia „Dopasuj bloki” muszą znajdować się na końcu sshd_configpliku.

Daniel Sokołowski
źródło
mój błąd brzmi: missing privilege separation directory: /var/run/sshdco teraz?
davejal