Ubuntu 16.04 LTS sshd problema de reinicialização

3

Escolhi o Ubuntu 16.04 LTS como sistema operacional principal nos meus servidores de produção. Tem a versão mais recente do kernel do Linux, atualizações frequentes e parece ser estável.

No entanto, 2 dias eu não consigo resolver o problema com o serviço sshd. Em geral funciona bem. Os problemas aparecem após a reinicialização do sistema. Eu sou capaz de fazer o login via SSH, mas o systemd diz que o sshd.service não está rodando / falhou em iniciar. Também não consigo reiniciar o serviço sshd e vejo o mesmo erro.

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2017-03-11 12:17:42 UTC; 37s ago
  Process: 3535 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255)
 Main PID: 3535 (code=exited, status=255)

Mar 11 12:17:42 node2 systemd[1]: Starting OpenBSD Secure Shell server...
Mar 11 12:17:42 node2 sshd[3535]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Mar 11 12:17:42 node2 sshd[3535]: fatal: Cannot bind any address.
Mar 11 12:17:42 node2 systemd[1]: ssh.service: Main process exited, code=exited, status=255/n/a
Mar 11 12:17:42 node2 systemd[1]: Failed to start OpenBSD Secure Shell server.
Mar 11 12:17:42 node2 systemd[1]: ssh.service: Unit entered failed state.
Mar 11 12:17:42 node2 systemd[1]: ssh.service: Failed with result 'exit-code'.

Eu reinstalei o Ubuntu 16.04 LTS no servidor muitas vezes e tentei alterar o arquivo sshd_config também para corrigir isso. No entanto, isso não ajuda. Aqui está o meu sshd_config:

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
ListenAddress 0.0.0.0
Protocol 2

# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
UseDNS no
GSSAPIAuthentication no

Recebo muitas mensagens do meu sistema de monitoramento sobre esse problema. Eu só quero garantir que tudo funcione corretamente e não terei problemas com meu servidor no futuro.

Alguém pode ajudar com isso?

Obrigado

    
por mobidev911 11.03.2017 / 13:23

1 resposta

2
Mar 11 12:17:42 node2 sshd[3535]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Mar 11 12:17:42 node2 sshd[3535]: fatal: Cannot bind any address.
Mar 11 12:17:42 node2 systemd[1]: ssh.service: Main process exited, code=exited, status=255/n/a

O processo sshd está em execução, você pode se conectar ao servidor, mas systemd não sabe sobre isso (ele não sabe qual processo deve ser eliminado antes de iniciar um novo processo sshd ). Supondo que isso aconteceu iniciando sshd manualmente ou systemd perdeu um rastreamento do processo sshd de alguma forma, você deve conseguir resolvê-lo com as seguintes etapas:

  • Localize o processo principal sshd e mate-o. Não mate as crianças (também chamadas de sshd ), caso contrário você se cortará do servidor!

    $ ps axf | grep sshd
     2208 ?        Ss     0:00 /usr/sbin/sshd
    18812 ?        Ss     0:00  \_ sshd: pi [priv]  
    18891 ?        S      0:01      \_ sshd: pi@pts/0   
    19123 pts/0    S+     0:00              \_ grep --color=auto sshd
    # kill -9 2208
    
  • Inicie o sshd service:

    systemctl start sshd
    
por Jakuje 11.03.2017 / 16:17