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

SSH :connect to host localhost port 22: connessione rifiutata

In debian kali ho provato a connettermi ssh e ho ottenuto il seguente errore:

SSH: connect to host localhost port 22: Connection refused

Background :

Stavo cercando di connettermi ssh in debian, sto usando kali 2.0 sana

Quello che ho provato/fatto:

`apt-get install openssh-server`

installato openssh-server e il suo uptodate

interrogato il servizio 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

Riconfigurato dpkg-reconfigure openssh-server e anche questo ha portato al successo

Ora ho provato a connettermi ssh root@localhost che richiede la password di root@localhost quindi quello che ho fatto è stato

vi /etc/ssh/sshd_config e aggiunto il comando per negare il login di root:

La mia sshd\config come segue:

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

Ora ho provato di nuovo a connettermi con ssh via ´ssh root@localhost´ ma non ho ottenuto connect to host localhost port 22: Connection refused

Ho pensato che il mio iptables potesse impedirlo e l'ho configurato come :

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

E ho interrogato il 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

Come da commento ho controllato

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

Ora di nuovo ho provato ssh root@localhost ma di nuovo ho ottenuto l'errore.

Gentilmente mi guida dove mi manca la parte? Come posso collegarlo?

Risposte (5)

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

Il tuo output netstat mostra che non c'è nessun processo in ascolto sulla porta 22, e questo spiegherebbe perché ottieni un Connection refused quando cerchi di SSH.

Le tue informazioni status sul demone sshd mostrano che è in esecuzione, tuttavia nessuna porta in ascolto è associata ad esso (o non sembra).

Inoltre, come ti è stato detto nei commenti, il tuo file sshd_config sembra non essere corretto. Dici di voler disabilitare il login di root, quindi ti propongo una configurazione per il tuo demone SSH.

Modifica il file /etc/ssh/sshd_config e mettici il seguente contenuto:

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

Se sei preoccupato per la sicurezza, puoi limitare SSH solo agli utenti che vuoi. Per esempio, se vuoi limitare che solo l'utente vignesh possa SSH, puoi aggiungere un'altra direttiva come questa:

AllowUsers vignesh

Dopo di che, riavviate semplicemente il servizio sshd. Una volta fatto, se si esegue netstat -atpn | grep 22 si dovrebbe vedere la porta 22 in ascolto per tutti.

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

Non riesco a capire se hai effettivamente aggiunto questa linea o l'hai decommentata: Port 22

Se nessuna porta è specificata in sshd\config, sshd non ascolterà su nessuna porta. Dato il tuo output da netstat, questo è probabilmente il problema.

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

Prima di tutto assicuratevi che il vostro account di root sia impostato con passwordse root non ha password potete sudo passwd root poi digitare una nuova password per root.

Poi potete SSH in con l'opzione -v per l'output verboso:

ssh root@localhost -v

Se la connessione viene ancora rifiutata, si prega di postare l'output del comando ssh root@localhost -v.

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

Passi:

Supponiamo che l'IP del server 1 sia 192.x.x.1 e l'IP del server 2 sia 192.x.x.2

Sul server 1:

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

Ora ssh server2.com o ssh 192.x.x.2

Se ottieni un errore di connessione (SSH ::), allora controlla il file /etc/hosts su entrambi i server, deve avere gli IP di SERVER1 e SERVER2 e se non contiene voci di entrambi i server allora aggiorna questo file /etc/hosts su entrambi i server con indirizzo IP hostname ecc, e poi controlla se il tuo problema sarà risolto.

Ho avuto lo stesso errore e si è risolto modificando gli IP in entrambi i file hosts.

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

Mi è venuto in mente oggi. Secondo questo link , “Kali Linux non viene fornito con SSH abilitato”