Não é possível conectar ao servidor SSH local - número de arquivo incorreto

1

Eu tenho um Odroid XU4 com o servidor Ubuntu 14.04 nele.

Eu instalei o servidor ssh com apt-get install openssh-server. Eu tenho o IP local com hostname -I, o que é 192.168.0.186, eu gerado um número de porta aleatório: 61354. Eu criei um arquivo /etc/ssh/authorized_keyse anexa a chave pública de máquina cliente: cat /media/stick/id_rsa.pub >> /etc/ssh/authorized_keys. Depois disso, substituí o arquivo de configuração por nano /etc/ssh/sshd_config. Eu defini-lo para PasswordAuthentication no, ListenAddress 192.168.0.186, Port 61354, AuthorizedKeysFile /etc/ssh/authorized_keys. Depois disso, reiniciei a máquina.

Tentei acessá-lo com SSH usando ssh 192.168.0.186 -p 61354o cliente sem êxito:, ssh: connect to host 192.168.0.186 port 61354: Bad file numberque está longe de ser uma mensagem de erro detalhada. Eu consegui ping 192.168.0.186, então o IP está bom. Como consertar isto?

editar:

$ ssh -vvv -p 61354 192.168.0.186
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/inf3rno/.ssh/config
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.186 [192.168.0.186] port 61354.
debug1: connect to address 192.168.0.186 port 61354: Connection refused
ssh: connect to host 192.168.0.186 port 61354: Bad file number

No servidor que tentei ps aux | grep sshd, de acordo com o servidor ssh está sendo executado. Portanto, provavelmente existe um firewall, que impede o cliente de se conectar ao servidor. Não sei exatamente o que há na imagem do sistema operacional que instalei a partir daqui: http://odroid.in/ubuntu_14.04lts/ . Eu tento descobrir se eu tenho um firewall ou não. (De acordo com um fórum, não há firewall instalado.)

Eu verifiquei com nmap

[inf3rno@inf3rno ~]$ sudo nmap -sS 192.168.0.186 -p 61354
[sudo] password for inf3rno: 
Starting Nmap 7.00 ( https://nmap.org ) at 2016-02-07 15:22 CET
Nmap scan report for 192.168.0.186
Host is up (0.0041s latency).
PORT      STATE  SERVICE
61354/tcp closed unknown
MAC Address: 00:1E:06:30:1E:CE (Wibrain)

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

e traceroute

traceroute to 192.168.0.186 (192.168.0.186), 30 hops max, 60 byte packets 1 192.168.0.186 (192.168.0.186) 5.833 ms 5.773 ms 8.347 ms

Eu tentei um servidor de soquete simples usando este tutorial: http://www.binarytides.com/netcat-tutorial-for-beginners/

$ nc -l -v 1234 # starting the socket server
$ telnet localhost 1234 # client connection: ok
$ telnet 192.168.0.186 1234 # client connection: refused

Portanto, isso está claramente relacionado à rede e, provavelmente, tenho que verificar as configurações do modem. Eu tentei isso em outra máquina com o Fedora com os mesmos resultados.

conclusão

Acabou que isso é algo relacionado à rede. Provavelmente, não há firewall instalado na máquina, portanto, esse não é um problema relacionado ao firewall. Eu tenho o mesmo em uma instalação do Fedora 23. Eu acho que isso é algo geral na rede e provavelmente causado pelo novo modem que recebi. Eu tento verificar as configurações do modem, talvez eu encontre a raiz do problema.

inf3rno
fonte
sudo iptables -Slistará iptablesregras ativas .
Jakuje 7/02/16
@Jakuje não há nem iptablesnem ufwinstalado no servidor (eo cliente). De acordo com um post do fórum, a imagem do sistema operacional que instalei vem sem firewall por padrão.
Inf3rno
Que tal ncat 192.168.0.186 61354? Você pode experimentá-lo com o serviço na porta padrão?
Jakuje 7/02/16
Connection @Jakuje recusou, se eu tiver que usá-lo no cliente ...
inf3rno

Respostas:

0

Você precisa usar o sshcomando conforme descrito na página de manual:

ssh -p 61354 192.168.0.186

o número da porta DEVE estar antes do nome do host / IP, caso contrário não poderá ser respeitado.

Para o erro real, a connectfunção está bloqueada, conforme descrito na pergunta no SO . Você precisa abrir a porta no firewall no caminho ( traceroute 192.168.0.186) ou usar alguma porta aberta (se você não executar o servidor https na mesma máquina, 443deverá estar aberto).

Jakuje
fonte
Número de arquivo ainda ruim ...
inf3rno 07/02
postar para a pergunta editada toda a saída dessh -vvv -p 61354 192.168.0.186
Jakuje
Eu editei a pergunta.
Inf3rno
Como posso descobrir se tenho firewall ou não? De acordo com um fórum que li, não há firewall na imagem do sistema operacional que instalei no dispositivo.
Inf3rno 7/02
Eu adicionei uma nota para descobrir o que está a caminho na sua rede. Parece mais firewall de hardware no dispositivo de rede (roteador?), Não software na máquina final.
Jakuje 7/02/16
0

Apesar da seção de conclusão da pergunta, consegui enviar dados entre máquinas com o servidor de soquete usando os mesmos comandos. O que eu fiz antes disso foi acessar a página de administração do modem. Passou por um primeiro processo de acesso, como alteração de senha, etc. Não alterei nada nas configurações, mas depois a comunicação funcionou corretamente. Não tenho certeza se digitei incorretamente os comandos ou se o primeiro procedimento de acesso o corrigiu, realmente não importa. A raiz do problema era outra coisa.

O servidor SSH ainda não funcionou após esta parte, então comecei a brincar com a configuração.

Depois disso, substituí o arquivo de configuração com o nano / etc / ssh / sshd_config. Defino-o como PasswordAuthentication no, ListenAddress 192.168.0.186, Porta 61354, AuthorizedKeysFile / etc / ssh / allowed_keys.

Eu removi o ListenAddresse Portdo arquivo de configuração. Depois disso, recebi a permission denied (public key)mensagem usando o ssh 192.168.0.186comando, então a conexão foi estabelecida, mas a autenticação falhou. Então, ainda tenho trabalho a fazer, mas pelo menos está conectado.

No final, removi o AuthorizedKeysFile /etc/ssh/authorized_keysarquivo também e movi o arquivo para o local padrão ~/.ssh/authorized_keyse me conectei ssh [email protected]. Agora funciona corretamente. :-)

inf3rno
fonte
1
Portas acima de 32000 são para conexões de clientes, é melhor ficar abaixo de um serviço. Para ter um diretório central para as chaves dos usuários usar: AuthorizedKeysFile / etc / ssh / authorized_keys /% u
bbaassssiiee