Ubuntu 9.04 atualizar para 9.10 agora ssh não está funcionando

1

Acabei de atualizar um (Linode VM) Ubuntu 9.04 para 9.10 usando do-release-upgrade (como root). Agora, o ssh não está funcionando.

No começo, eu estava começando a "Tempo limite da conexão esgotado". Então, eu fui ao site da Linode e usei o "console do ajax lish". Não tenho certeza de como isso é diferente de ssh, pois usa a mesma senha de root (que ainda funciona). Lá, descobri que o sistema de arquivos foi montado como somente leitura. Eu consertei isso fazendo mount -t ext2 -o rw,remount /dev/hda6 / , mas ainda sem conexão ssh. Eu então (ainda usando o "lish ajax console" no site Linode) usei o comando dhclient eth0 , e agora estou recebendo "Connection refused" em vez de "Connection timed out", que parece um pouco com progresso mas não muito.

Então, eu posso dizer que a atualização de 9.04 para 9.10 não foi muito bem. Ainda posso ver todos os meus arquivos usando o "lish ajax console" do Linode, mas não sei como fazer o ssh funcionar, e sem surpresa os sites neste servidor não estão mais acessíveis também.

Como o "console lish ajax" usa a mesma senha de root, acredito que ainda esteja funcionando, e todos os arquivos que eu procurei estão lá, então nem tudo está perdido. Mas, preciso fazer outra coisa para fazer o ssh funcionar novamente. Alguma idéia?

p.s. Ok, obrigado por sugestões, aqui estão os resultados até agora:

/etc/init.d/ssh status
could not access PID file for sshd
/etc/init.d/ssh start
Starting OpenBSD Secure Shell server sshd
/etc/init.d/ssh status
sshd is running

Isso soou bem, mas quando eu tentei entrar eu peguei:

Servidor recusou alocar pty stdin: não é um tty

Eu procurei na internet um pouco e descobri que tentava:

/sbin/MAKEDEV pty
/sbin/MAKEDEV tty

Mas não há melhorias.

ifconfig eth0

Isso deu uma confirmação de que o endereço IP ("inet addr:") era o que eu esperava.

iptables -I INPUT -p tcp --dport -j ACCEPT
bash: iptables: command not found

Eu achei surpreendente que ele não tivesse ouvido falar do iptables, mas o que eu sei. Tudo o que pude encontrar no auth.log foi isso, não a partir de agora, mas de várias horas atrás.

root@localhost:/var/log# tail -f /var/log/auth.log                                                  
Apr 16 15:05:50 li9-111 sshd[10704]: pam_unix(sshd:auth): authentication failure; logname= uid=0 eui
d=0 tty=ssh ruser= rhost=60.10.58.156  user=root                                                    
Apr 16 15:05:52 li9-111 sshd[10704]: Failed password for root from 60.10.58.156 port 32776 ssh2     
Apr 16 15:05:58 li9-111 sshd[10706]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=60.10.58.156 user=root                                                    
Apr 16 15:06:00 li9-111 sshd[10706]: Failed password for root from 60.10.58.156 port 33096 ssh2     
Apr 16 15:06:03 li9-111 sshd[10708]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=60.10.58.156  user=root                                                    
Apr 16 15:06:05 li9-111 sshd[10708]: Failed password for root from 60.10.58.156 port 33588 ssh2     
Apr 16 15:06:11 li9-111 sshd[10710]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=60.10.58.156  user=root                                                    
Apr 16 15:06:14 li9-111 sshd[10710]: Failed password for root from 60.10.58.156 port 33927 ssh2     
Apr 16 15:06:16 li9-111 sshd[10712]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=60.10.58.156  user=root                                                    
Apr 16 15:06:18 li9-111 sshd[10712]: Failed password for root from 60.10.58.156 port 34404 ssh2 

No syslog, tudo o que consegui encontrar foi:

root @ localhost: / var / log # tail -f / var / log / syslog

Apr 16 15:05:19 li9-111 mysqld: Active alarms: 0                                                  
Apr 16 15:05:19 li9-111 mysqld: Max used alarms: 1                                                  
Apr 16 15:05:19 li9-111 mysqld: Next alarm time: 0                                                  
Apr 16 15:05:19 li9-111 mysqld:                                                                     
Apr 16 15:05:19 li9-111 mysqld: Begin safemalloc memory dump:                                       
Apr 16 15:05:19 li9-111 mysqld:                                                                     
Apr 16 15:05:19 li9-111 mysqld: End safemalloc memory dump.                                         
Apr 16 15:05:48 li9-111 dhclient: DHCPREQUEST of 67.18.176.111 on eth0 to 72.14.180.19 port 67      
Apr 16 15:05:48 li9-111 dhclient: DHCPACK of 67.18.176.111 from 72.14.180.19                        
Apr 16 15:05:48 li9-111 dhclient: bound to 67.18.176.111 -- renewal in 35362 seconds.  

Por fim,

root@localhost:/var/log# netstat -ntlp                                                              
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:22              0.0.0.0:*               LISTEN      891/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      891/sshd    

Muito obrigado por toda a ajuda até agora, qualquer conselho adicional é muito apreciado. Última Nota: apenas no caso de algo acima não ter efeito até a reinicialização, eu tentei isso eo resultado foi um passo para trás (nenhuma resposta para tentar ssh). Então, voltei ao topo e tentei:

root@localhost:~# /etc/init.d/ssh status                                                            
 * could not access PID file for sshd                                                               
root@localhost:~# /etc/init.d/ssh start                                                             
 * Starting OpenBSD Secure Shell server sshd                             [ OK ]                     
root@localhost:~# /etc/init.d/ssh status                                                            
 * could not access PID file for sshd            

O que parece ser um passo atrás. De qualquer forma, qualquer ajuda ou conselho é apreciado.

    
por rossdavidh 17.04.2011 / 00:24

2 respostas

1

Bem, parece que o problema era específico do Linode. Há, no arquivo de configuração para a VM, e o "kernel" configuração para isso foi definido em "mais recente 2.6 Legacy (2.6.18.8-linode22". Eu tive que mudar isso para "mais recente 2.6 Paravirt (2.6.38-linode31 ) ", e depois o ssh (e os sites servidos deste servidor) todos voltaram. Whew!

Eu acho que o kernel para o qual o linode foi configurado era somente para uso em versões do Ubuntu anteriores a 9.10. Francamente, eu pensei que o processo de atualização do sistema seria responsável, mas eu realmente não entendo tudo sobre como o arquivo de configuração da VM e a VM os interagem, então não é surpresa que eu tenha conseguido me meter em problemas, eu acho .

Eu acho que talvez a lição takeaway é que se você deixar seu servidor ficar tão desatualizado, existem coisas estranhas requeridas para o caminho de upgrade que nem sempre estarão na documentação mais atual, porque meu deus que está ainda em uma versão tão antiga. No entanto, vou ter que respirar fundo e pensar um pouco antes de tentar atualizar para o próximo sistema operacional.

Eu acho que para minha próxima pergunta de falha no servidor eu precisarei perguntar sobre as estratégias de atualização do servidor ...

    
por 17.04.2011 / 17:48
1

Primeiro, verifique se o ssh está em execução, você pode fazer isso via

/etc/init.d/ssh status

Se não estiver em execução, inicie-o usando o mesmo comando, mas substituindo o status por start.

Se isso não funcionar, verifique a configuração da interface para verificar se você está se conectando ao IP correto.

ifconfig eth0

Como você usou o dhcp para obter um IP, isso pode ter mudado.

Existe uma chance de o seu firewall estar bloqueando, você pode abrir a porta 22 (ela deve ser aberta por padrão):

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

Por fim, poste o conteúdo de /var/log/auth.log and /var/log/syslog enquanto estiver tentando se conectar.

    
por 17.04.2011 / 00:30

Tags