SSH "connessione rifiutata" su Raspberry pi - impossibile trovare il perché


13

Ho il seguente problema SSH "connessione rifiutata". Funzionerebbe bene, ma mentre sto lavorando su SSH, otterrei "connessione rifiutata" e dovrei riconnettermi (che non si verifica per 5-10 minuti). Ho provato di tutto (riavvio di Linux, riavvio di ssh) ma ancora non aiuta. Ho controllato anche var / log ma niente di utile lì dentro ...

NOTA: la nota interessante che ho trovato è che, quando provo ssh sul mio ip esterno (277 ...), si passa allo schermo cmd nero, lo chiudo e provo il mio indirizzo 192.168.0.13 e mi permette di accedere .. ma breve mentre, ancora una volta la connessione è stata rifiutata ... Naturalmente se apro il mio server e sudo sshd riavvio, la mia "connessione rifiutata" ssh scompare ...

La mia porta ssh è aperta alle 23 e l'ho impostata anche su modem / router

sudpi@raspberrypi:~$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1817/apache2
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2227/vsftpd
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      1784/xrdp-sesman
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      3115/sshd
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1781/xrdp
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2397/mysqld

Quando mi disconnetto, eseguo nuovamente l'accesso e controllo "CHI" vedo solo la mia connessione precedente, la mia radice e la connessione corrente

whopi@raspberrypi:~$ who  
pi       tty1         2013-01-28 09:20
pi       pts/0        2013-01-28 10:28 (192.168.0.12)
pi       pts/1        2013-01-28 10:32 (192.168.0.12)

Questo è ciò che ho nel mio ssh_config che ho modificato (da SSH a 23 perché i Roger usano 22 ...)

#   Port 23
...    
#Keep my damn connection alive!
KeepAlive yes
ServerAliveInterval 60

Questo è ciò che ottengo quando eseguo arp-scan

pi@raspberrypi:/etc$ sudo arp-scan -I eth0 -l | grep 192.168.0.13
192.168.0.13    a0:6c:ec:ec:bb:5b       (Unknown)

Questa parte che ho trovato online mi ha detto che avrei dovuto pubblicare le seguenti due informazioni

pi@raspberrypi:~$ ps afxu | grep sshd
root      2838  0.0  0.7   9800  3168 ?        Ss   10:27   0:00 sshd: pi [priv]                                                                                   
pi        2845  0.0  0.3   9800  1628 ?        S    10:28   0:00  \_ sshd: pi@pt                                                                                   s/0
root      2854  0.0  0.7   9800  3168 ?        Ss   10:32   0:00 sshd: pi [priv]                                                                                   
pi        2861  0.0  0.3   9800  1628 ?        S    10:32   0:00  \_ sshd: pi@pt                                                                                   s/1
root      2900  0.3  0.7   9800  3168 ?        Ss   10:44   0:00 sshd: pi [priv]                                                                                   
pi        2907  0.0  0.3   9800  1628 ?        S    10:44   0:00  \_ sshd: pi@pt                                                                                   s/2
root      2934  0.0  0.2   6204  1060 ?        Ss   10:45   0:00 /usr/sbin/sshd
root      2954  0.7  0.7   9800  3164 ?        Ss   10:45   0:00  \_ sshd: pi [p                                                                                   riv]
pi        2961  0.1  0.3   9800  1624 ?        S    10:46   0:00      \_ sshd: p                                                                                   i@pts/3
pi        2970  0.0  0.1   3536   796 pts/3    S+   10:46   0:00              \_                                                                                    grep sshd

EDIT: pi @ raspberrypi: ~ $ ssh -vvv 192.168.0.13 (QUESTO potrebbe essere lungo ... Grazie Bart Friederichs)

pi@raspberrypi:~$ ssh -vvv 192.168.0.13 -p 23
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.13 [192.168.0.13] port 23.
debug1: Connection established.
debug1: SELinux support disabled
...
debug1: match: OpenSSH_6.0p1 Debian-3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-3
debug2: fd 3 setting O_NONBLOCK
debug3: put_host_port: [192.168.0.13]:23
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
...
debug1: Next authentication method: publickey
debug1: Trying private key: /var/www/.ssh/id_rsa
debug3: no such identity: /var/www/.ssh/id_rsa
debug1: Trying private key: /var/www/.ssh/id_dsa
debug3: no such identity: /var/www/.ssh/id_dsa
debug1: Trying private key: /var/www/.ssh/id_ecdsa
debug3: no such identity: /var/www/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
pi@192.168.0.13's password: - I TYPED PASSWORD -
...
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Linux raspberrypi 3.6.11+ #350 PREEMPT Mon Jan 7 21:51:11 GMT 2013 armv6l

Esegui netstat -tlpncome root (o con sudo) se vuoi vedere i nomi dei programmi / PID. Spostare SSH dalla sua porta predefinita non sembra essere una buona idea se non hai abbastanza familiarità con l'amministrazione Linux.
Bruno,

1
Le righe che iniziano con # sono commenti, quindi nella riga che specifichi la porta 23 hai il # prima, non verrà elaborato e quindi utilizzerà la porta standard (22). Puoi anche avere qualcosa in /etc/hosts.allow o /etc/hosts.deny che controlla chi può connettersi a sshd. Hai controllato se non hai una collisione con l'indirizzo IP nella tua rete?
Pipa il

Risposte:


8

Stai sshdascoltando sulla porta 23, ma ti stai collegando alla porta 22 (impostazione predefinita di ssh).

Prova questo:

  pi@raspberrypi:~$ ssh -vvv 192.168.0.13 -p 23

Un errore "connessione rifiutata" significa che il livello TCP nel kernel non accetta alcuna connessione su quella porta. Non ha nulla a che fare con il mantenersi in vita o altro.

Inoltre, stai usando arpper scoprire cose, ma sarebbe uno strumento migliore nmap. arpti dice solo se l'IP è nel tuo dominio di trasmissione, non se ci sono porte aperte.


Ciao, grazie per la tua risposta, ho provato pi @ raspberrypi: ~ $ nmap -bash: nmap: comando non trovato ... dovrei installarlo? e ce n'è per il lampone? Grazie anche per la correzione, ho modificato con -p 23, ma non ha nulla che sembri fuori posto ...

nmapnon è davvero necessario, solo uno strumento utile. L'aggiornamento che hai fatto sembra averlo fatto funzionare?
Bart Friederichs,

5

Citando la documentazione :

A partire dalla versione di novembre 2016, Raspbian ha il server SSH disabilitato per impostazione predefinita. Dovrai abilitarlo manualmente.

Per abilitare SSH su macchine tramite console:

Immettere sudo raspi-confignel terminale, selezionare prima advanced options, quindi navigare ssh, premere Entere selezionare Enable or disable ssh server.

Per abilitare SSH per macchine senza testa:

Per una configurazione senza testa, SSH può essere abilitato posizionando un file denominato ssh, senza alcuna estensione, nella partizione di avvio della scheda SD.


Copia e incolla dalla risposta di @techraf in questa domanda correlata: SSH non funziona con una nuova installazione .


Anche se questo potrebbe tecnicamente rispondere alla domanda, non sono sicuro che techraf sarà felice di aver appena copiato e incollato la loro risposta. Tuttavia, se hai chiesto l'autorizzazione prima di pubblicare questo post sarebbe diverso.
Darth Vader

1
Parte dei "termini di servizio" (sec. 3) è che i contributi qui sono considerati avere una licenza Creative Commons Attribution ShareAlike e questa riappropriazione rientra in tali termini. Tuttavia, non è una grande risposta qui poiché è abbastanza chiaro nella domanda in sshdcorso e il problema era precedente al 2016.
Riccioli d'oro

@DarthVader L'ho pubblicato come risposta della community, accreditando correttamente l'autore, ho pensato che sarebbe bastato.
Delgan,

1
@goldilocks Come avrai intuito, questa domanda si pone in cima ai risultati di ricerca di Google sulla connessione ssh rifiutata per Raspberry Pi. Credevo che ciò avrebbe aiutato le persone a capire più rapidamente quale potrebbe essere il problema.
Delgan,

Nella configurazione SSH più recente attuale (Raspbian Stretch) si trova in 5) Opzioni di interfaccia -> P2) SSH
R2RT

1

Ho avuto lo stesso problema questa mattina e l'ho risolto rimuovendo e installando openssh-server:

sudo apt-get remove openssh-server 
sudo apt-get install openssh-server

Ciao e benvenuto in Stack Exchange! Si prega di considerare di aggiungere una spiegazione più approfondita a beneficio dei futuri lettori.
NULL

0

Ho avuto lo stesso problema e la mia soluzione era disabilitare e disinstallare iptables.

eseguire questi comandi:

(come sudoer)

iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

sudo apt-get remove --purge iptables


0

Per me il seguente ha funzionato: sono andato su / etc / ssh / ssh_config e / etc / ssh / sshd_config e poi ho permesso l'accesso senza password.

Riavviato il servizio e voilà, funzionante!


0

Aggiornamento della risposta di Delgan per Raspberry pi 3, RASPBIAN JESSIE CON PIXEL OS

Nel terminale

sudo raspi-config 

Seleziona Opzioni di interfaccia -> SSH. Premi Invio e seleziona Abilita o disabilita server ssh


0

Non sono sicuro se il mio suggerimento sarà utile. Ho avuto lo stesso problema e sono nuovo nel mondo Linux. Dopo aver letto la documentazione di Raspberry Pi ho scoperto che il problema è nella configurazione Pi in cui SSH era disabilitato.

Fare clic sul menu Raspberry Pi -> Preferenze -> Avvia configurazione Raspberry Pi Passare alla scheda Interfacce Selezionare Abilitato accanto a SSH Fare clic su OK Questo ha risolto il mio problema. Per favore, prova e fammi sapere.


-1

con

sudpi@raspberrypi:~$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1817/apache2
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2227/vsftpd
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      1784/xrdp-sesman
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      3115/sshd
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1781/xrdp
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2397/mysqld

È un buon inizio per verificare qual è il problema, ma non abbastanza per rispondere alla domanda :-(
Morgan Courbet,

-1

Ho avuto lo stesso problema ma è stato risolto dopo aver eseguito il comando

sudo apt-get remove --purge iptables. e disattivare la connettività wireless.


-1

Ci sono 2 file di configurazione / etc / ssh / ssh_config e / etc / ssh / sshd_config

Cambia la porta da 22 a quella che vuoi in entrambi i file.

riavviare il servizio sudo service ssh restart


Ma ... funzionerà solo se il tuo ssh: ing nella stessa macchina. Quale sarebbe il punto di ciò?
Bex,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.