Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

sftp connection closed after typing in password

sftp recently began acting up on my Mac Pro running 10.6.8; any attempt to sftp into it results in a "Connection Closed" error immediately after typing in the password. Remote login is enabled in system preferences. The only change that I can think of us that I did some installation with "Brew" which insists on

changing some of the permissions in /usr/local but I can't see how this could have affected sftp.


In contrast, ssh to the machine works fine! It's only sftp that fails. Thanks for any advice!




Here is the dump from a "sftp -v -v -v" to localhost:

massey% sftp localhost


massey% sftp -v -v -v massey@localhost

Connecting to localhost...

OpenSSH_5.2p1, OpenSSL 0.9.8x 10 May 2012

debug1: Reading configuration data /etc/ssh_config

debug2: ssh_connect: needpriv 0

debug1: Connecting to localhost [127.0.0.1] port 22.

debug1: Connection established.

debug1: identity file /Users/massey/.ssh/id_rsa type -1

debug1: identity file /Users/massey/.ssh/id_dsa type -1

debug1: Remote protocol version 1.99, remote software version OpenSSH_5.2

debug1: match: OpenSSH_5.2 pat OpenSSH*

debug1: Enabling compatibility mode for protocol 2.0

debug1: Local version string SSH-2.0-OpenSSH_5.2

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: ssh-rsa,ssh-dss

debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blow fish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se

debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blow fish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se

debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib

debug2: kex_parse_kexinit: none,zlib@openssh.com,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,blow fish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se

debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blow fish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se

debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: none,zlib@openssh.com

debug2: kex_parse_kexinit: none,zlib@openssh.com

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: 140/256

debug2: bits set: 524/1024

debug1: SSH2_MSG_KEX_DH_GEX_INIT sent

debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY

debug3: check_host_in_hostfile: filename /Users/massey/.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 /Users/massey/.ssh/known_hosts:1

debug2: bits set: 489/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: SSH2_MSG_SERVICE_REQUEST sent

debug2: service_accept: ssh-userauth

debug1: SSH2_MSG_SERVICE_ACCEPT received

debug2: key: /Users/massey/.ssh/id_rsa (0x0)

debug2: key: /Users/massey/.ssh/id_dsa (0x0)

debug1: Authentications that can continue: publickey,keyboard-interactive

debug3: start over, passed a different list publickey,keyboard-interactive

debug3: preferred 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: /Users/massey/.ssh/id_rsa

debug3: no such identity: /Users/massey/.ssh/id_rsa

debug1: Trying private key: /Users/massey/.ssh/id_dsa

debug3: no such identity: /Users/massey/.ssh/id_dsa

debug2: we did not send a packet, disable method

debug3: authmethod_lookup keyboard-interactive

debug3: remaining preferred: password

debug3: authmethod_is_enabled keyboard-interactive

debug1: Next authentication method: keyboard-interactive

debug2: userauth_kbdint

debug2: we sent a keyboard-interactive packet, wait for reply

debug2: input_userauth_info_req

debug2: input_userauth_info_req: num_prompts 1

Password:

At this point I enter the password nd the following happen:


debug3: packet_send2: adding 32 (len 23 padlen 9 extra_pad 64)

debug2: input_userauth_info_req

debug2: input_userauth_info_req: num_prompts 0

debug3: packet_send2: adding 48 (len 10 padlen 6 extra_pad 64)

debug1: Authentication succeeded (keyboard-interactive).

debug2: fd 4 setting O_NONBLOCK

debug3: fd 5 is O_NONBLOCK

debug1: channel 0: new [client-session]

debug3: ssh_session2_open: channel_new: 0

debug2: channel 0: send open

debug1: Requesting no-more-sessions@openssh.com

debug1: Entering interactive session.

debug2: callback start

debug2: client_session2_setup: id 0

debug1: Sending subsystem: sftp

debug2: channel 0: request subsystem confirm 1

debug2: fd 3 setting TCP_NODELAY

debug2: callback done

debug2: channel 0: open confirm rwindow 0 rmax 32768

debug2: channel 0: rcvd adjust 2097152

debug2: channel_input_status_confirm: type 99 id 0

debug2: subsystem request accepted on channel 0

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

debug1: client_input_channel_req: channel 0 rtype exit-signal reply 0

debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0

debug2: channel 0: rcvd eow

debug2: channel 0: close_read

debug2: channel 0: input open -> 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 cfd -1)



debug3: channel 0: close_fds r -1 w -1 e 6 c -1

debug1: fd 0 clearing O_NONBLOCK

debug3: fd 1 is not O_NONBLOCK

Transferred: sent 1456, received 2040 bytes, in 0.0 seconds

Bytes per second: sent 38224.3, received 53556.0

debug1: Exit status -1

Mac Pro, Mac OS X (10.6.8)

Posted on Aug 12, 2013 1:12 PM

Reply
Question marked as Best reply

Posted on Aug 12, 2013 5:02 PM

Do you have a shell initialization script for this remote account?


Does this shell initialization script echo/print anything to standard out? If so, this can totally screw up sftp or scp connections.


Shell initialization files could be one of the following:


.bash_profile

.bash_login

.profile

.bashrc


This assumes 'bash' is your shell (the Mac OS X deftaul). If you have a different shell, the shell initialization file names would different.


If you are using 'bash', try adding the following to the beginning of any 'bash' shell initialization script you are using


[[ ${-#*i}  = ${-} ]] && return


This will stop the bash shell initialization script from running when you are not doing an interactive login, such as sftp or scp.

3 replies
Question marked as Best reply

Aug 12, 2013 5:02 PM in response to astropig

Do you have a shell initialization script for this remote account?


Does this shell initialization script echo/print anything to standard out? If so, this can totally screw up sftp or scp connections.


Shell initialization files could be one of the following:


.bash_profile

.bash_login

.profile

.bashrc


This assumes 'bash' is your shell (the Mac OS X deftaul). If you have a different shell, the shell initialization file names would different.


If you are using 'bash', try adding the following to the beginning of any 'bash' shell initialization script you are using


[[ ${-#*i}  = ${-} ]] && return


This will stop the bash shell initialization script from running when you are not doing an interactive login, such as sftp or scp.

sftp connection closed after typing in password

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.