Eu tenho um Ubuntu Server 10.04.1 em execução. Quando tentei entrar no servidor via ssh, não consegui. Em vez disso, recebi um connection refused
erro. Tentei fazer ping na máquina e recebi resposta! Portanto, o motivo claro é que o daemon SSH está parado.
Após a reinicialização, consegui acessar o meu servidor via ssh. Depois de algum tempo, examinei meus logs /var/log/syslog
e encontrei os seguintes registros:
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped
Eu procurei por um problema / solução semelhante. Algumas pessoas disseram que isso é causado pela SSH daemon tentando começar antes de rede e eles sugerem a mudança ListenAddress
no /etc/ssh/sshd_config
ser 0.0.0.0
. Penso que esta não é a causa no meu caso, porque o meu problema ocorre após o sistema estar em funcionamento.
Alguma ideia do que esta causando isso? Este é o Ubuntu Server e deve ser executado e acessado remotamente usando SSH.
ATUALIZAR:
Aqui está o snippet de log que encontrei /var/log/auth.log
.
Jan 16 10:56:38 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.
Parece que esse erro começou a aparecer depois que eu recarreguei o daemon SSH. Devo evitar usar ssh reload
e usar ssh restart
?
Respostas:
Você deve verificar o que aconteceu pouco antes do SSH começar a se debater
syslog
. Se o subsistema de rede morresse, isso poderia explicar por quesshd
começou a falhar.Eu também verificaria
/var/log/auth.log
. É osshd
registro e pode fornecer uma mensagem de erro melhor.fonte
auth.log
arquivo e atualizei minha pergunta.reload
deve ser uma ação válida. Ele deve acionar uma reinicialização interna (e parece ter tentado isso e ficou travado). Tente recarregar novamente e veja se ele fica preso novamente.Eu apenas tive o mesmo problema na minha caixa de 12.04. Ou seja, os mesmos sintomas. Infelizmente, sempre acontecia quando eu introduzia a
ListenAddress
cláusula com os endereçosinet
einet6
emsshd_config
. Em suma, isso parece ser um sintoma de um malformadosshd_config
- embora os arquivos de log não tenham declarado nada parecido.Solução de problemas
sshd
O que eu acho geralmente muito útil nesses casos é começar
sshd
sem deixar daemonizar. O problema no meu caso era quesyslog
nemauth.log
mostrava nada significativo.Quando o iniciei no terminal, obtive:
Muito melhor! Essa mensagem de erro me permitiu ver o que havia de errado e corrigi-lo. Nenhum dos arquivos de log continha essa saída.
Nota: pelo menos no Ubuntu,
$(which sshd)
é o melhor método para satisfazer asshd
exigência de um caminho absoluto. Caso contrário, você vai ter o seguinte erro:sshd re-exec requires execution with an absolute path
. O-p 10222
fazsshd
escutar nessa porta alternativa, substituindo o arquivo de configuração - para não colidir comsshd
instâncias potencialmente em execução . Certifique-se de escolher uma porta gratuita aqui.Esse método me ajudou muitas vezes a encontrar problemas, sejam de autenticação ou outros tipos. Para obter uma saída realmente detalhada
stdout
, use$(which sshd) -Ddddp 10222
(observe odd
item adicionado para aumentar a verbosidade). Para mais verificação de bondade de depuraçãoman sshd
.A principal vantagem desse método é que ele permite que você verifique a
sshd
configuração sem precisar reiniciar asshd
porta padrão. Normalmente, isso não deve interferir nas conexões SSH existentes, mas eu já vi. Portanto, isso permite validar o arquivo de configuração antes de, potencialmente, interromper o acesso a um servidor remoto (por exemplo, eu tenho isso para alguns VPS e até para servidores físicos em que preciso pagar mais para obter acesso fora de banda para a máquina).fonte
Esse parece ser o resultado do bug # 687535, que foi corrigido recentemente no natty e foi carregado no maverick e no lucid como uma atualização proposta.
https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535
Encorajo todos a irem lá, experimentar o caso de teste (procurar TEST CASE) e postar seus resultados antes e depois da instalação da correção proposta. Isso ajudará a equipe SRU a decidir que a verificação foi feita e a liberar como uma atualização.
fonte
Em
/etc/ssh/sshd_config
, verifique se todas as opções yes e no estão em minúsculas. Por exemplo, se você definirPermitRootLogin No
, ssh não será iniciado. Na verdade tem que serPermitRootLogin no
.fonte
Eu tive um problema semelhante com uma imagem do Ubuntu 11.10 em um Linode após reiniciar. O serviço ssh produziria no syslog:
É uma caixa de teste e tinha cerca de 60 dias de atividade. Por isso, em algum momento, instalei algo anexado à parte inferior do sshd_config:
Comentar essas linhas permitiu ao ssh iniciar.
fonte
O Ubuntu ssh não foi iniciado e o syslog gerou "init: ssh main process (2044) finalizado com status 255"
/ usr / sbin / sshd -Ddp 10222
Claro que funcionou para mim para determinar o erro de linha sshd_config
fonte
tenho o mesmo problema, a solução superior não funciona, mas eu tenho solução para isso.
O caminho está ok conforme o documento, então eu corro manualmente sshd.
A permissão / var / run / sshd é.
então está bem. execute ssh localhost e verifique.
fonte
sshd
não funcionar corretamente, como você pode ver nas mensagens de erro muito diferentes nos respectivos logs. -1