View Full Version : ssh e dns dinamico su raspberry
Sto provando a configurare il mio raspberry per potermi collegare da remoto tramite ssh, ho già registrato un account su noip e installato il dynamic update client sul raspberry per aggiornare di volta in volta l'ip, e sembra che questo avvenga correttamente, poi ho aperto la porta pubblica sul router che fa capo alla 22 su raspberry e ho aperto la medesima porta pubblica sul firewall del raspberry (utilizza iptables), a questo punto dovrebbe funzionare correttamente ma non so perchè, se provo a collegarmi scrivendo
ssh mionome@nomehost.ddns.net:numeroporta
mi dice cannot resolve hostname or unknow service, mentre se provo a pingarlo va a buon fine. Ho provato anche con
ssh -l mionome -p numeroporta nomehost.ddns.net
ma in questo modo resta 1 minuto senza dare risposta e poi dice connection timeout
mi sono forse dimenticato di fare qualcosa? ssh in locale funziona tranquillamente, quindi nemmeno a dire che non è in esecuzione il server ssh
Ciao,
sei sicuro di dover usare iptables sul rasp? non lascia passare tutto di default? che distro usi ?
A parte questo proverei a separare i due problemi, ovvero:
1) essere sicuri che il nome venga risolto correttamente
2) controllare che il nat sul firewall venga fatto bene
Sui due punti:
1) come hai fatto la prova? se non hai una seconda connessione potrebbe essere fuorviante il ping fatto "così" perché il nome sarebbe risolto dal tuo dns locale.... dovresti quindi cercare di fare la verifica dall'esterno.
Quindi usa un servizio esterno (su internet ne trovi) oppure forza la risoluzione del nome usando un dns esterno.
Se usi windows non so come si faccia ( :D ) mentre con una qualunque distro linux puoi usare dig:
dig tuo_indirizzo_da_controllare @8.8.8.8
2) sei sicuro di aver fatto il nat per il tcp ? magari per questa verifica posta la videata con la regola sul firewall....
Ciao
Se devi collegarti con ssh in loccale secondo me fai un sacco di passaggi inutili... Io semplicemente do un IP statico al raspberry (può essere anche dinamico ma ogni volta bisogna andare a vedere quale IP e stato assegnato al raspy) dopo di che apro putty che è un programmino semplicissimo che tu permette di controllare altre macchine della rete tramite ssh e riga di comando... Inserisco l'indirizzo del raspberry e do invio... Chiede la password e basta dopo di che ti salta fuori il termine del Raspy e da li fai tutto...
Ovviamente devi abilitare l'opzione per il controllo tramite ssh dal Raspy ma se hai raspbian dovrebbe essere già attivo di default
Ciao,
sei sicuro di dover usare iptables sul rasp? non lascia passare tutto di default? che distro usi ?
A parte questo proverei a separare i due problemi, ovvero:
1) essere sicuri che il nome venga risolto correttamente
2) controllare che il nat sul firewall venga fatto bene
Sui due punti:
1) come hai fatto la prova? se non hai una seconda connessione potrebbe essere fuorviante il ping fatto "così" perché il nome sarebbe risolto dal tuo dns locale.... dovresti quindi cercare di fare la verifica dall'esterno.
Quindi usa un servizio esterno (su internet ne trovi) oppure forza la risoluzione del nome usando un dns esterno.
Se usi windows non so come si faccia ( :D ) mentre con una qualunque distro linux puoi usare dig:
dig tuo_indirizzo_da_controllare @8.8.8.8
2) sei sicuro di aver fatto il nat per il tcp ? magari per questa verifica posta la videata con la regola sul firewall....
Ciao Ho provato il comando che mi hai detto da un notebook con ubuntu, l'hostname viene risolto correttamente
Se devi collegarti con ssh in loccale secondo me fai un sacco di passaggi inutili... Io semplicemente do un IP statico al raspberry (può essere anche dinamico ma ogni volta bisogna andare a vedere quale IP e stato assegnato al raspy) dopo di che apro putty che è un programmino semplicissimo che tu permette di controllare altre macchine della rete tramite ssh e riga di comando... Inserisco l'indirizzo del raspberry e do invio... Chiede la password e basta dopo di che ti salta fuori il termine del Raspy e da li fai tutto...
Ovviamente devi abilitare l'opzione per il controllo tramite ssh dal Raspy ma se hai raspbian dovrebbe essere già attivo di default Non sto ricorrendo a questi passaggi per collegarmi in locale, quello già riesco a farlo senza tutto questo procedimento, il problema mi si presenta se voglio collegarmi in remoto :cry:
ho provato anche ad aggiungere questa regola:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
ovviamente sul router ho impostato il port forwarding da una porta pubblica alla 22 in locale su raspberry
Prova a disabilitare totalmente iptable così capisci se sono le regole che non vanno o se il problema è a monte sul router/nat
ssh -p <port number> <username>@<server name>
se non risponde prova: telnet <server name> <port number>
se non risponde ancora controlla il forward sul router e ferma iptables (o lascia passare tutto)
poi pensi a iptables
Prova a disabilitare totalmente iptable così capisci se sono le regole che non vanno o se il problema è a monte sul router/nat
ssh -p <port number> <username>@<server name>
se non risponde prova: telnet <server name> <port number>
se non risponde ancora controlla il forward sul router e ferma iptables (o lascia passare tutto)
poi pensi a iptables
Come faccio per disattivare iptables? Ho provato a rimuovere la regola che rifiutava tutti i pacchetti in entrata da qualsiasi sorgente a qualsiasi destinazione, però provando entrambi i comandi mi dice Connection timed out
Sicuro del router?
Oltre che il forward sulla porta 22 molti router richiedono anche l'impostazione di una regola sul firewall del router stesso.
Per quanto riguarda iptables questo thread su altro forum mi pare faccia al caso tuo:
http://raspberrypi.stackexchange.com/questions/5334/how-can-i-disable-raspbmcs-firewall-via-ssh
Sicuro del router?
Oltre che il forward sulla porta 22 molti router richiedono anche l'impostazione di una regola sul firewall del router stesso.
Per quanto riguarda iptables questo thread su altro forum mi pare faccia al caso tuo:
http://raspberrypi.stackexchange.com/questions/5334/how-can-i-disable-raspbmcs-firewall-via-ssh seguendo un post nella discussione che mi hai linkato sono riuscito a collegarmi usando l'ip pubblico, però se uso l'host creato con noip, anche se punta allo stesso ip pubblico, non va e dice connection timed out
Ho provato da un sito a fare il check della porta immettendo l'hostname di noip, la porta risulta aperta, però se da ssh provo a collegarmi al raspberry inserendo l'hostname mi dice connection timed out, mentre se uso direttamente l'ip pubblico mi fa collegare :/
A cosa può essere dovuto? Devo cambiare qualcosa nelle impostazioni di ssh? Il raspberry capisce se mi sto collegando usando direttamente l'ip pubblico o l'hostname? Anche se mi sembra strano visto che dovrebbe essere risolto dal pc sul quale utilizzo il client (che effettivamente lo risolve se si tratta di semplice ping)
ci sono riuscito però non mi insultate, praticamente non andava perchè quando provavo con l'hostnmae di no-ip ero ancora collegato alla rete locale e quindi non usava il dns esterno per risolvere l'hostname, infatti da smartphone con solo la rete 3g attiva, è andato.
Ora ho un ultimo problema, praticamente ho seguito questa guida: http://raspberry-at-home.com/making-raspi-visible/
mettendo il mio nuovo utente tra gli AllowUsers, solo che se provo a collegarmi da esterno con l'utente pi, che non è tra gli utenti permessi (stando a quanto dice la guida), mi fa collegare lo stesso :confused:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.