ssh connection closes after successful login

30,313

Solution 1

Because you get the same problem when connecting from localhost, it's probably a fault at the servers-side.

With the information given currently, it is quite hard to figure out what went wrong. Take a look at the server-side logs : grep 'sshd' /var/log/auth.log

You could try using ssh -v or ssh -vv to get a more detailed output on the client side, but I suppose the auth.log is more promising.

Once that information is gathered, you could edit your question to describe the problem more properly!

Edit:

Another option might be setting "LogLevel INFO" to "LogLevel DEBUG" in /etc/sshd_config and gathering more output from the server. Please go through your logs before posting them, the man page warns that a high LogLevel might impair privacy.

Solution 2

Here's another possiblity, in case anyone finds this while searching like I did: same symptoms, SSH session closes after entering password. My variation was that SSH from the server to itself worked, but would fail after authentication from any external source.

I'd looked at most of the above suggestions already. When I finally ran sshd with DEBUG3 I noticed it was doing a reverse DNS look up on the source IP.

What I finally found was that the DNS resolvers had been set up originally while we were in the middle of upgrading the DNS servers, so the first resolver IP was still one of the temporary transition IPs that was now gone. Seems the extra delay with all the DNS timeouts was enough for the SSHD login process to time out. I set the correct DNS resolver IPs and SSH started working flawlessly.

Solution 3

I had a similar problem

With one user I could connect so I checked /etc/passwd. I saw this user could connect with bash, the other (not working) with fish

So I changed to bash and both worked.

Then I put it back to fish, and analysed my fish config and removed a line at the end that was added with byobu-enable. Then it worked. Then I reran byobu-enable and it works.

No idea what happened and it's a VERY specific case but I think I had the config file open while I ran byobu-enable and it messed things up

Share:
30,313

Related videos on Youtube

ganjan
Author by

ganjan

Updated on September 18, 2022

Comments

  • ganjan
    ganjan over 1 year

    I am trying to run ssh on my computer so I can control it with my android phone. When I scan my local network with overlook fing at my phone I get that my computer is running ssh at port 22. So I try to connect with connectBot I get:

    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.
    

    Then a message: "Host has disconnected. Close session?"

    When I run ssh user@localhost at the computer I get the same thing. Seems that ssh is setup incorrectly, I get a password prompt and information about the computer, but then the connection instantly close. Why?

    EDIT:

    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:~$ 
    
    • binfalse
      binfalse about 13 years
      try to connect with ssh -vvv user@whatever, and also take a look into your /var/log/auth.log. If you still can't see any errors please provide the output of the ssh command and the interesting lines of the log file.
    • Tier2helpdesk
      Tier2helpdesk over 6 years
      In your ConnectBot host settings, have you enabled Start a shell session?
  • NuSkooler
    NuSkooler over 4 years
    I had this same issue today logging into a CentOS 7 machine. I've have byobu (via byobu-enable) my default for a while but it just stopped. chsh -s from another account and/or edit the ~/.config/fish/config.fish to remove this and it works again. Very odd.