web-dev-qa-db-fra.com

La connexion SSH se ferme après une connexion réussie

J'essaie d'exécuter ssh sur mon ordinateur afin de pouvoir le contrôler avec mon Android. Lorsque je balaye mon réseau local avec overlook fing sur mon téléphone, je vois que mon ordinateur fonctionne sous ssh sur le port 22. Je tente donc de me connecter avec connectBot:

Linux linux 2.6.35-28-generic-pae #50-Ubuntu SMP Fri Mar 18 20:43:15 UTC 2011 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Mon Apr 25 15:27:36 2011 from linux
Connection to localhost closed.

Puis un message: "L'hôte s'est déconnecté. Fermez la session?"

Quand je lance ssh user@localhost sur l'ordinateur, je reçois la même chose. On dirait que ssh est mal configuré, je reçois une invite de mot de passe et des informations sur l'ordinateur, mais la connexion se ferme instantanément. Pourquoi?

MODIFIER:

auth.log:

Apr 25 15:39:27 linux sshd[4932]: pam_sm_authenticate: Called
Apr 25 15:39:27 linux sshd[4932]: pam_sm_authenticate: username = [user]
Apr 25 15:39:27 linux sshd[4932]: pam_sm_authenticate: /home/user is already mounted
Apr 25 15:39:27 linux sshd[4932]: Accepted password for user from ::1 port 48442 ssh2
Apr 25 15:39:27 linux sshd[4932]: pam_unix(sshd:session): session opened for user user by (uid=0)
Apr 25 15:39:27 linux sshd[5079]: Received disconnect from ::1: 11: disconnected by user
Apr 25 15:39:27 linux sshd[4932]: pam_unix(sshd:session): session closed for user user

ssh -vvv user@localhost:

user@linux:~$ ssh -vvv user@localhost
OpenSSH_5.5p1 Debian-4ubuntu5, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [::1] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/id_rsa type -1
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu5
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 146/256
debug2: bits set: 513/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_Host_in_hostfile: Host localhost filename /home/user/.ssh/known_hosts
debug3: check_Host_in_hostfile: Host localhost filename /home/user/.ssh/known_hosts
debug3: check_Host_in_hostfile: match line 1
debug1: Host 'localhost' is known and matches the RSA Host key.
debug1: Found key in /home/user/.ssh/known_hosts:1
debug2: bits set: 509/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/user/.ssh/id_rsa ((nil))
debug2: key: /home/user/.ssh/id_dsa ((nil))
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/id_rsa
debug3: no such identity: /home/user/.ssh/id_rsa
debug1: Trying private key: /home/user/.ssh/id_dsa
debug3: no such identity: /home/user/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
user@localhost's password: 
debug3: packet_send2: adding 64 (len 57 padlen 7 extra_pad 64)
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug3: Ignored env ORBIT_SOCKETDIR
debug3: Ignored env SSH_AGENT_PID
debug3: Ignored env TERM
debug3: Ignored env Shell
debug3: Ignored env XDG_SESSION_COOKIE
debug3: Ignored env WINDOWID
debug3: Ignored env GNOME_KEYRING_CONTROL
debug3: Ignored env GTK_MODULES
debug3: Ignored env USER
debug3: Ignored env LS_COLORS
debug3: Ignored env LIBGL_DRIVERS_PATH
debug3: Ignored env SSH_AUTH_SOCK
debug3: Ignored env DEFAULTS_PATH
debug3: Ignored env SESSION_MANAGER
debug3: Ignored env USERNAME
debug3: Ignored env XDG_CONFIG_DIRS
debug3: Ignored env DESKTOP_SESSION
debug3: Ignored env LIBGL_ALWAYS_INDIRECT
debug3: Ignored env PATH
debug3: Ignored env PWD
debug3: Ignored env GDM_KEYBOARD_LAYOUT
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug3: Ignored env GNOME_KEYRING_PID
debug3: Ignored env MANDATORY_PATH
debug3: Ignored env GDM_LANG
debug3: Ignored env GDMSESSION
debug3: Ignored env SHLVL
debug3: Ignored env HOME
debug3: Ignored env GNOME_DESKTOP_SESSION_ID
debug3: Ignored env LOGNAME
debug3: Ignored env XDG_DATA_DIRS
debug3: Ignored env DBUS_SESSION_BUS_ADDRESS
debug3: Ignored env LESSOPEN
debug3: Ignored env WINDOWPATH
debug3: Ignored env DISPLAY
debug3: Ignored env LESSCLOSE
debug3: Ignored env XAUTHORITY
debug3: Ignored env COLORTERM
debug3: Ignored env _
debug2: channel 0: request Shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: Shell request accepted on channel 0
Linux linux 2.6.35-28-generic-pae #50-Ubuntu SMP Fri Mar 18 20:43:15 UTC 2011 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

Last login: Mon Apr 25 15:39:27 2011 from linux
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug2: channel 0: rcvd close
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
  #0 client-session (t4 r0 i3/0 o3/0 fd -1/-1 cc -1)

debug3: channel 0: close_fds r -1 w -1 e 6
Connection to localhost closed.
Transferred: sent 1800, received 2232 bytes, in 0.4 seconds
Bytes per second: sent 4972.2, received 6165.5
debug1: Exit status 0
user@linux:~$ 
3
ganjan

Comme vous rencontrez le même problème lorsque vous vous connectez à partir de localhost, il s’agit probablement d’une erreur du côté des serveurs.

Avec les informations fournies actuellement, il est assez difficile de comprendre ce qui a mal tourné. Examinez les journaux côté serveur: grep 'sshd' /var/log/auth.log

Vous pouvez essayer d'utiliser ssh -v ou ssh -vv pour obtenir une sortie plus détaillée côté client, mais je suppose que l'auth.log est plus prometteur.

Une fois ces informations réunies, vous pouvez modifier votre question pour décrire le problème plus correctement!

Edit:

Une autre option pourrait être de définir "LogLevel INFO" sur "LogLevel DEBUG" dans /etc/sshd_config et de collecter davantage de données de sortie du serveur. Veuillez consulter vos journaux avant de les publier. La page de manuel vous avertit qu’un niveau élevé de LogLevel peut porter atteinte à la confidentialité.

2
freddyb

J'avais un problème similaire

Avec un utilisateur, je pouvais me connecter alors j'ai vérifié/etc/passwd. J'ai vu que cet utilisateur pouvait se connecter avec bash, l'autre (ne fonctionnant pas) avec du poisson

Alors j'ai changé pour bash et les deux ont travaillé.

Ensuite, je l'ai remis aux poissons, analysé ma configuration de poisson et enlevé une ligne à la fin qui a été ajoutée avec byobu-enable. Ensuite cela a fonctionné. Ensuite, je réutilise Byobu-enable et ça marche.

Aucune idée de ce qui s'est passé et c'est un cas TRÈS spécifique, mais je pense que le fichier de configuration était ouvert pendant que je courais en mode Byobu-enable et que tout se gâte.

2
pedrotester

Voici une autre possibilité, au cas où quelqu'un le trouverait en cherchant comme moi: mêmes symptômes, la session SSH se ferme après la saisie du mot de passe. Ma variante était que SSH du serveur à lui-même fonctionnait, mais échouerait après l'authentification de toute source externe.

J'avais déjà examiné la plupart des suggestions ci-dessus. Lorsque j'ai finalement exécuté sshd avec DEBUG3, j'ai remarqué qu'il effectuait une recherche DNS inversée sur l'adresse IP source.

J'ai finalement découvert que les résolveurs DNS avaient été configurés à l'origine alors que nous étions en train de mettre à niveau les serveurs DNS. La première adresse IP du résolveur était donc encore l'une des adresses IP de transition temporaires. Il semble que le délai supplémentaire avec tous les délais d’expiration DNS était suffisant pour que le processus de connexion SSHD expire. J'ai défini les bonnes adresses IP de résolution DNS et SSH a commencé à fonctionner parfaitement.

1
Jed