2015-09-23 13:36:05 +0000 2015-09-23 13:36:05 +0000
6
6

SSH :connect to host localhost port 22: Verbindung abgelehnt

In debian kali habe ich versucht, ssh zu verbinden und bekam folgende Fehlermeldung :

SSH: connect to host localhost port 22: Connection refused

Background :

Ich habe versucht, ssh in debian zu verbinden, ich benutze kali 2.0 sana

Was ich versucht/getan habe:

`apt-get install openssh-server`

installiert openssh-server und sein uptodate

Service abgefragt ssh status

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: active (running) since Wed 2015-09-23 17:20:36 IST; 36min ago
 Main PID: 1594 (sshd)
   CGroup: /system.slice/ssh.service
           └─1594 /usr/sbin/sshd -D

dpkg-reconfigure openssh-server neu konfiguriert und es führte auch zum Erfolg

Jetzt habe ich versucht, mich zu verbinden ssh root@localhost was root@localhost-Passwort erfordert, also habe ich

vi /etc/ssh/sshd_config und den Befehl hinzugefügt, um root login zu verweigern:

Meine sshd_config wie folgt :

What ports, IPs and protocols we listen for Port 22
#Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0 Protocol 2
# HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security UsePrivilegeSeparation yes

Jetzt habe ich wieder versucht, eine ssh-Verbindung über ‘ssh root@localhost’ herzustellen, aber ich bekam connect to host localhost port 22: Connection refused

Ich dachte, dass mein iptables es verhindern könnte, also habe ich es wie folgt konfiguriert:

vim /root/firewall.rules
root@vignesh:~# iptables-save > /root/firewall.rules
root@vignesh:~# iptables -X
root@vignesh:~# iptables -t nat -F
root@vignesh:~# iptables -t nat -X
root@vignesh:~# iptables -t mangle -F
root@vignesh:~# iptables -t mangle -X
root@vignesh:~# iptables -P INPUT ACCEPT
root@vignesh:~# iptables -P FORWARD ACCEPT
root@vignesh:~# iptables -P OUTPUT ACCEPT
root@vignesh:~# iptables-save > /root/firewall.rules

Und ich habe die iptables-save

# Generated by iptables-save v1.4.21 on Wed Sep 23 18:50:34 2015
*mangle
:PREROUTING ACCEPT [41217:4171959]
:INPUT ACCEPT [27727:3255690]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1834:219528]
:POSTROUTING ACCEPT [1835:219654]
COMMIT
# Completed on Wed Sep 23 18:50:34 2015
# Generated by iptables-save v1.4.21 on Wed Sep 23 18:50:34 2015
*nat
:PREROUTING ACCEPT [15456:1179155]
:INPUT ACCEPT [1858:255303]
:OUTPUT ACCEPT [223:14078]
:POSTROUTING ACCEPT [223:14078]
COMMIT
# Completed on Wed Sep 23 18:50:34 2015
# Generated by iptables-save v1.4.21 on Wed Sep 23 18:50:34 2015
*filter
:INPUT ACCEPT [26756:3173280]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1775:215770]
COMMIT

abgefragt& Wie per Kommentar geprüft

root@vignesh:~# netstat -an | grep 22
tcp 0 0 10.100.8.40:54036 216.58.220.46:80 ESTABLISHED
tcp 0 0 10.100.8.40:41573 216.58.220.14:80 ESTABLISHED
unix 3 [] STREAM CONNECTED 17722 @/tmp/dbus-JUNz9GwSon
unix 3 [] STREAM CONNECTED 13422    
unix 3 [] STREAM CONNECTED 17224    
unix 3 [] STREAM CONNECTED 17422    
unix 2 [] DGRAM 9222     
unix 3 [] STREAM CONNECTED 17221 /var/run/NetworkManager/private
unix 3 [] STREAM CONNECTED 17225 /var/run/NetworkManager/private
unix 3 [] STREAM CONNECTED 17229    
unix 3 [] STREAM CONNECTED 17220

Nun habe ich es wieder mit ssh root@localhost versucht, aber wieder den Fehler bekommen.

Könnten Sie mir bitte sagen, wo das Teil fehlt? Wie kann ich es anschließen?

Antworten (5)

14
14
14
2015-10-01 05:01:43 +0000

Ihre netstat-Ausgabe zeigt, dass es keinen Prozess gibt, der auf Port 22 hört, und das würde erklären, warum Sie ein Connection refused erhalten, wenn Sie versuchen, SSH zu verwenden.

Ihre status-Information über den sshd-Daemon zeigt, dass er läuft, jedoch ist kein lauschender Port mit ihm verbunden (oder scheint es nicht zu sein).

Des Weiteren scheint Ihre sshd_config-Datei, wie in den Kommentaren erwähnt, nicht korrekt zu sein. Sie sagen, Sie wollen den Root-Login deaktivieren, also schlage ich eine Konfiguration für Ihren SSH-Daemon vor.

Bearbeiten Sie die Datei /etc/ssh/sshd_config und fügen Sie den folgenden Inhalt ein:

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
ClientAliveInterval 30
ClientAliveCountMax 99999

Wenn Sie sich Sorgen um die Sicherheit machen, können Sie SSH nur auf die gewünschten Benutzer beschränken. Wenn Sie zum Beispiel einschränken wollen, dass nur der Benutzer vignesh SSH benutzen kann, können Sie eine weitere Direktive wie diese hinzufügen:

AllowUsers vignesh

Danach starten Sie einfach den Dienst sshd neu. Wenn Sie nun netstat -atpn | grep 22 ausführen, sollten Sie sehen, dass der Port 22 auf jeden wartet.

3
3
3
2015-10-02 17:17:12 +0000

Ich kann nicht erkennen, ob Sie diese Zeile tatsächlich hinzugefügt oder auskommentiert haben: Port 22

Wenn in sshd_config kein Port angegeben ist, lauscht sshd an keinem Port. Angesichts Ihrer Ausgabe von netstat ist dies wahrscheinlich das Problem.

2
2
2
2015-10-02 04:53:58 +0000

Zuerst vergewissern Sie sich, dass Ihr root-Konto mit einem Passwort eingerichtet istwenn root kein Passwort hat, können Sie sudo passwd root und dann ein neues Passwort für root eingeben.

Dann können Sie sich per SSH mit der Option -v für ausführliche Ausgaben anmelden:

ssh root@localhost -v

Wenn die Verbindung immer noch abgelehnt wird, posten Sie bitte die Ausgabe des Befehls ssh root@localhost -v.

0
0
0
2017-04-27 10:04:59 +0000

Schritte:

Nehmen wir an, die IP von Server 1 ist 192.x.x.1 und die IP von Server 2 ist 192.x.x.2

Auf Server 1:

ssh-keygen -t rsa
cd .ssh
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.x.x.2

Jetzt ssh server2.com oder ssh 192.x.x.2

Wenn Sie einen Verbindungsfehler erhalten (SSH ::), dann überprüfen Sie die /etc/hosts-Datei auf beiden Servern, sie muss die IPs von SERVER1 und SERVER2 enthalten, und wenn sie keine Einträge von beiden Servern enthält, dann aktualisieren Sie diese /etc/hosts-Datei auf beiden Servern mit der IP-Adresse, dem Hostnamen usw., und überprüfen Sie dann, ob Ihr Problem behoben wird.

Ich hatte den gleichen Fehler und er wurde durch Ändern der IPs in beiden Hosts-Dateien behoben.

0
0
0
2017-09-14 08:51:53 +0000

Es ist mir heute aufgefallen. Laut diesem Link , “Kali Linux kommt nicht mit aktiviertem SSH”.