Estou tendo dificuldades em estabelecer conexão SSH de fora para o Raspberry Pi que tem um modem USB 4G como interface. Eu recebo tempo limite ao tentar conectar-me com o ssh:
ssh -l pi ccc.ccc.ccc.ccc -p 22
ssh_exchange_identification: read: Operation timed out
A interface é obviamente ppp0 e tem o endereço IP correto que pode ser pingado de fora. Esta é a listagem ifconfig (endereço IP ofuscado)
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet ccc.ccc.ccc.ccc netmask 255.255.255.255 destination 10.64.64.64
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 401 bytes 377702 (368.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 336 bytes 27694 (27.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
o ping de uma outra máquina funciona OK, o ssh não funciona e recebe o tempo limite. Monitorar a interface com o tcpdumps mostra alguma vida quando conectado ao cliente ssh
sudo tcpdump -i ppp0 port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
09:18:26.764806 IP yyy.yyy.yyy.yyy.53681 > ccc.ccc.ccc.ccc.ssh: Flags [S], seq 2675400197, win 65535, options [mss 1386,nop,wscale 5,nop,nop,TS val 672664602 ecr 0,sackOK,eol], length 0
depois disso, não há vida, nenhum registro em / var / log / auth ou mensagens, nada. O nível de log sshd está definido como DEBUG3
Este é o arquivo conf SSHD:
Port 22
Port 7654
AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::
# Ciphers and keying
#RekeyLimit default none
# Logging
SyslogFacility AUTH
LogLevel DEBUG3
Eu tentei adicionar alguma porta obscura 7654 no caso 22 foi bloqueado pelo ISP ou algo
Eu tentei adicionar regras de firewall específicas, mesmo que a política geral esteja definida como ACCEPT:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ctstate NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:7654 ctstate NEW,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:ssh ctstate ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:7654 ctstate ESTABLISHED
tabela de rotas tem esta aparência:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
bbb.bbb.bbb.0 0.0.0.0 255.255.252.0 U 202 0 0 eth0
onde essa coisa bbb é rede ethernet local
Sem sorte, e ainda tenho tempo esgotado ao tentar me conectar. SSH do localhost para esse endereço IP funciona ok.
Alguma idéia de como isso está errado e como corrigi-lo? Me confunde que eu recebo pelo menos mensagens ICMP na interface e internamente o SSH também funciona. Mesmo externamente há alguma vida nessa interface quando se conecta de fora com o ssh, mas ainda não funciona.