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

SSH : connexion à l'hôte localhost port 22 : connexion refusée

Dans debian kali j'ai essayé de connecter ssh et j'ai obtenu l'erreur suivante :

SSH : connect to host localhost port 22 : Connection refused

Background :

J'ai essayé de connecter ssh dans debian, j'utilise kali 2.0 sana

Ce que j'ai essayé/fait :

`apt-get install openssh-server`

a installé openssh-server et son uptodate

a interrogé le service 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

a reconfiguré dpkg-reconfigure openssh-server et a également réussi

Maintenant j'ai essayé de me connecter ssh root@localhost ce qui nécessite le mot de passe root@localhost donc ce que j'ai fait était

vi /etc/ssh/sshd_config et j'ai ajouté une commande pour refuser la connexion de root :

Mon sshd_config comme suit :

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

Maintenant, j'essaie à nouveau de me connecter à ssh via ‘ssh root@localhost’ mais je n'ai pas obtenu connect to host localhost port 22: Connection refused

Je pense que mon iptables pourrait l'empêcher, donc je l'ai configuré comme :

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

Et j'ai interrogé le 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

Comme indiqué dans le commentaire, j'ai vérifié

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

Maintenant, j'ai de nouveau essayé ssh root@localhost mais j'ai de nouveau obtenu l'erreur.

Veuillez me guider là où je manque la partie ? Comment puis-je la connecter ?

Réponses (5)

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

Votre sortie netstat montre qu'aucun processus n'écoute le port 22, et cela expliquerait pourquoi vous obtenez un Connection refused lorsque vous essayez de faire du SSH.

Votre info status sur le démon sshd montre qu'il est en cours d'exécution, mais qu'aucun port d'écoute n'y est associé (ou ne semble l'être).

De plus, comme on vous l'a dit dans les commentaires, votre fichier sshd_config semble être incorrect. Vous dites que vous voulez désactiver la connexion root, je vais donc vous proposer une configuration pour votre démon SSH.

Editez le fichier /etc/ssh/sshd_config et mettez-y le contenu suivant :

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

Si vous vous inquiétez pour la sécurité, vous pouvez restreindre SSH uniquement aux utilisateurs que vous voulez. Par exemple, si vous voulez restreindre que seul l'utilisateur vignesh peut faire du SSH, vous pouvez ajouter une autre directive comme celle-ci :

AllowUsers vignesh

Après cela, redémarrez simplement le service sshd. Une fois fait, si vous lancez netstat -atpn | grep 22 vous devriez voir le port 22 à l'écoute de tout le monde.

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

Je ne peux pas voir si vous avez réellement ajouté cette ligne, ou si vous l'avez supprimée : Port 22

Si aucun port n'est spécifié dans sshd_config, sshd n'écoutera sur aucun port. Étant donné votre sortie de netstat, c'est probablement le problème.

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

Tout d'abord, assurez-vous que votre compte root a été configuré avec password_if root n'a pas de mot de passe, vous pouvez sudo passwd root puis tapez un nouveau mot de passe pour root.

Ensuite, vous pouvez entrer en SSH avec l'option -v pour une sortie verbeuse. :

ssh root@localhost -v

Si la connexion est toujours refusée, veuillez afficher la sortie de la commande ssh root@localhost -v.

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

Étapes :

Supposons que l'IP du serveur 1 soit 192.x.x.1 et que l'IP du serveur 2 soit 192.x.x.2

sur le serveur 1 :

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

Maintenant ssh server2.com ou ssh 192.x.x.2

Si vous obtenez une erreur de connexion (SSH ::), alors vérifiez le fichier /etc/hosts sur les deux serveurs ; il doit avoir les IP de SERVER1 et SERVER2 et s'il ne contient pas les entrées des deux serveurs, alors mettez à jour ce fichier /etc/hosts sur les deux serveurs ayant l'adresse IP hostname etc, puis vérifiez si votre problème sera résolu.

J'ai eu la même erreur et elle est résolue en modifiant les IP dans les deux fichiers d'hôtes.

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

Cela m'est venu à l'esprit aujourd'hui. Selon ce lien , “Kali Linux n'est pas livré avec le SSH activé”.