Chociaż zostało to omówione, ale nadal nie jestem w stanie rozwiązać tego. Oto krótki przegląd tego, co zrobiłem i jak wpadłem w kłopoty:
Zainstalowane Ubuntu 12.10, zainstalowane ssh, sudo apt-get install ssh
. Ulubiony ssh działał dobrze i był połączony za pomocą ssh localhost
. Usunąłem Ubuntu, zwiększyłem partycję i ponownie zainstalowałem Ubuntu. Znów strzeliłem sudo apt-get install ssh
, pokazało mi to
Reading package lists... Done
Building dependency tree
Reading state information... Done
Gdy wydałem polecenie, ssh localhost
wystąpił błąd:
ssh: connect to host localhost port 22: Connection refused
sudo apt-get install openssh-server
?sudo iptables -L
? Isudo netstat -l
?openssh-server
rozwiązanego problemuOdpowiedzi:
Uruchom to polecenie:
Jeśli zauważysz, że ruch nie jest dozwolony (tzn. Brak określonych reguł), uruchom następującą komendę:
to polecenie mówi systemowi, aby zezwalał na połączenia przychodzące do portu 22 ... i zwykle powinien rozwiązać twój dylemat, szczególnie dla
ssh
/sshd
.ZAKTUALIZOWANO od 31 lipca 2016 r .: iptables nie mają nic wspólnego z ssh jako aplikacją, ale z drugiej strony, działają jak router, pozwalając na ruch do portu 22. Gdy używasz iptables, system faktycznie rozumie „ssh”, jednak jest to skrót w linii poleceń, ale tak naprawdę
iptables INPUT -p udp -dport 22
dzieje się tak, podczas gdy --dport oznacza „port docelowy” (ssh używa portu 22). Prawdopodobnie spowodowało to błędne przekonanie o postrzeganiu „ssh” jako aplikacji, ale tak naprawdę „22” jako portu.źródło
iptables INPUT -p udp -dport 22
natomiast--dport
oznacza „port docelowy” (ssh wykorzystuje port 22). Prawdopodobnie spowodowało to błędne przekonanie o postrzeganiu „ssh” jako aplikacji, ale tak naprawdę „22” jako portu.