
Ich möchte ein SSH-Terminal öffnen, aber die Verbindung wird auf Port 22 abgelehnt. Mein NMAP listet Port 22 nicht auf. Wie kann ich eine Verbindung zu meinem Server herstellen?
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
4000/tcp filtered remoteanything
4001/tcp filtered newoak
4002/tcp filtered mlchat-proxy
Dies ist mein Portscan von hackertarget.com:
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.3.1
22/tcp closed ssh
25/tcp open smtp Postfix smtpd
80/tcp open http lighttpd 1.4.29
110/tcp closed pop3
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
1433/tcp closed ms-sql-s
3306/tcp closed mysql
8080/tcp closed http-proxy
Wie kann sshd geschlossen werden?
Antwort1
Wenn Ihre Verbindung abgelehnt wird und Nmap anzeigt, dass der Port geschlossen ist, können Sie keine Verbindung herstellen. Wenn Sie auf andere Weise (physisches Terminal, virtuelle Konsole usw.) auf den Server zugreifen können, können Sie mit einem der folgenden Befehle überprüfen, ob der SSH-Daemon ausgeführt wird (einige sind auf Ihrem System möglicherweise nicht verfügbar):
ps -f -C sshd
ps aux | grep sshd
sudo netstat -ptan | grep sshd
service ssh status
Wenn es nicht läuft, müssen Sie es starten. Übliche Möglichkeiten hierfür sind:
service ssh start
invoke-rc.d ssh start
/etc/init.d/ssh start
/usr/sbin/sshd
Alle dieser Befehle sollten Root-Rechte erfordern (z. B. sudo).
Wenn der Daemon läuft, Sie aber trotzdem keine Verbindung herstellen können, ist es möglich, dass ein Netzwerkgerät oder die iptables-Firewall Ihres Hosts Verbindungen blockiert. Sie können Ihre eigenen Regeln mit sehen iptables -L
, aber wenn Sie einen Firewall-Manager verwenden (UFW ist unter Ubuntu beliebt), sind die Tabellen möglicherweise schwer zu lesen, und Sie sollten die Benutzeroberfläche des von Ihnen verwendeten Tools überprüfen ( ufw status
z. B. ). Es ist unwahrscheinlich, dass ein Netzwerkgerät es blockiert, da Ihre Nmap-Ausgabe einige gefilterte (durch Firewall geschützte) Ports anzeigt und 22/tcp nicht darunter ist.
Schließlich gibt es einige Verteidigungstools und -skripte (wieFehler2Banund andere), die Adressen wegen Richtlinienverstößen (wie zu vielen fehlgeschlagenen Anmeldeversuchen) blockieren können. Daher müssen Sie möglicherweise die Protokolle auf derartige Dinge überprüfen.
Antwort2
Sie können den Status Ihres SSH-Servers remote überprüfen, indem Sienmap
$ nmap -v -nn serverip 22
Wenn angezeigt wird, dass der SSH-Server ausgefallen ist, müssen Sie lokalen Zugriff auf den SSH-Server erhalten und einen Befehl wie den folgenden ausführen:
$ /etc/init.d/ssh status
Wenn dieser Show-SSH-Dienst ausgefallen ist, müssen Sie ihn starten, indem Sie
$ sudo /etc/init.d/ssh start
oder
$ service ssh start