darcs

Issue 1364 darcs seems to create very many ssh connecitons when using it with an scponly shell

Title darcs seems to create very many ssh connecitons when using it with an scponly shell
Priority not-our-bug Status wont-fix
Milestone Resolved in
Superseder Nosy List codeFiend, darcs-devel, dmitry.kurochkin, kowey, thorkilnaur, twb
Assigned To
Topics SSH

Created on 2009-02-17.09:45:56 by codeFiend, last changed 2009-08-27.14:23:11 by admin.

Messages
msg7325 (view) Author: codeFiend Date: 2009-02-17.09:45:53
Something like this shows up in my sshd log:

Feb 17 09:40:00 fnord sshd[11755]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:01 fnord sshd[11759]: Accepted publickey for efimov from
67.145.163.77 port 57191 ssh2
Feb 17 09:40:01 fnord sshd[11759]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:01 fnord scponly[11762]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000002215-49cdbb183490a1852358e7408a84ea66c715120681013e119a054a720ebba2c7
(username: efimov(505), IP/port: 67.145.163.77 57191 22)
Feb 17 09:40:01 fnord sshd[11759]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:02 fnord sshd[11763]: Accepted publickey for efimov from
67.145.163.77 port 57192 ssh2
Feb 17 09:40:02 fnord sshd[11763]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:02 fnord scponly[11766]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000003472-32def14dab5600032e4cdda3a2201fa27a1617c7a63d7959e680bbcf6b068211
(username: efimov(505), IP/port: 67.145.163.77 57192 22)
Feb 17 09:40:02 fnord sshd[11763]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:03 fnord sshd[11767]: Accepted publickey for efimov from
67.145.163.77 port 57193 ssh2
Feb 17 09:40:03 fnord sshd[11767]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:03 fnord scponly[11770]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000002702-948aa39872dbb11294b2a8222eddb2e2a20262d7ad5c65fb906001ec70e07355
(username: efimov(505), IP/port: 67.145.163.77 57193 22)
Feb 17 09:40:04 fnord sshd[11767]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:04 fnord sshd[11771]: Accepted publickey for efimov from
67.145.163.77 port 57194 ssh2
Feb 17 09:40:04 fnord sshd[11771]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:04 fnord scponly[11774]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000002927-c380f0224593a9b15ad037f101c435a7dbdcb1567792574ec430da635c29c914
(username: efimov(505), IP/port: 67.145.163.77 57194 22)
Feb 17 09:40:05 fnord sshd[11771]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:06 fnord sshd[11775]: Accepted publickey for efimov from
67.145.163.77 port 57195 ssh2
Feb 17 09:40:06 fnord sshd[11775]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:06 fnord scponly[11778]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000003343-6dc39a032cd239b61a19eca40056caadd3d228a1d6233535ee5242ad69886ae7
(username: efimov(505), IP/port: 67.145.163.77 57195 22)
Feb 17 09:40:06 fnord sshd[11775]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:07 fnord sshd[11779]: Accepted publickey for efimov from
67.145.163.77 port 57196 ssh2
Feb 17 09:40:07 fnord sshd[11779]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:07 fnord scponly[11782]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000005602-077203a4dd7195b912be3d3ebf62c1fa3cd6aa0d205575ee35e9d12ee8663af8
(username: efimov(505), IP/port: 67.145.163.77 57196 22)
Feb 17 09:40:07 fnord sshd[11779]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:08 fnord sshd[11783]: Accepted publickey for efimov from
67.145.163.77 port 57197 ssh2
Feb 17 09:40:08 fnord sshd[11783]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:08 fnord scponly[11786]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000001448-d3704570557b301477c53387d6624d524f92001abdb3ba69d58bd759f9143256
(username: efimov(505), IP/port: 67.145.163.77 57197 22)
Feb 17 09:40:08 fnord sshd[11783]: pam_unix(sshd:session): session closed for
user efimov
Feb 17 09:40:09 fnord sshd[11787]: Accepted publickey for efimov from
67.145.163.77 port 57198 ssh2
Feb 17 09:40:09 fnord sshd[11787]: pam_unix(sshd:session): session opened for
user efimov by (uid=0)
Feb 17 09:40:09 fnord scponly[11790]: running: /usr/bin/scp -f
/var/darcs/lrs/_darcs/pristine.hashed/0000002085-b9918ec652f86d1fe24b1564c9364c42d9866806c729d9a71288fb8f277d63fd
(username: efimov(505), IP/port: 67.145.163.77 57198 22)
Feb 17 09:40:09 fnord sshd[11787]: pam_unix(sshd:session): session closed for
user efimov

interestingly, this does not show up when 'get'ting the repo with a user that
has real ssh access to the server. Is this expected behaviour?
msg7326 (view) Author: codeFiend Date: 2009-02-17.09:46:55
Oh, the log output is truncated btw, and this is with darcs v2.2.0 on both
server and client, with the repository in darcs-2, hashed format.
msg7337 (view) Author: twb Date: 2009-02-18.01:55:33
On Mon, Feb 16, 2009 at 10:45:53PM +0000, Anton wrote:
> Something like this shows up in my sshd log:
>
> sshd[11759]: Accepted publickey for efimov from 67.145.163.77 port 57191 ssh2
> sshd[11759]: pam_unix(sshd:session): session opened for user efimov by (uid=0)
> scponly[11762]: running: /usr/bin/scp -f /var/darcs/lrs/_darcs/pristine.hashed/0000002215-49cdbb183490a1852358e7408a84ea66c715120681013e119a054a720ebba2c7 (username: efimov(505), IP/port: 67.145.163.77 57191 22)
> sshd[11759]: pam_unix(sshd:session): session closed for user efimov
> [repeats...]
>
> interestingly, this does not show up when 'get'ting the repo with a user that
> has real ssh access to the server. Is this expected behaviour?

If I read matters correctly, this is Darcs physically uploading a file
to your server, using the SFTP module of your SSH server.  It's
perfectly normal for darcs to upload files using scp, and I imagine
it's normal for them to turn up in your logs.

The fact that you're getting a huge number of connections being
created suggests that darcs 2 is not installed on your server.
Upgrading your server's darcs to darcs 2 should increase upload speed
and incidentally reduce the number of log entries you get.

You can test for darcs 2 on the server thusly:

    $ ssh fnord darcs transfer-mode --repodir /home/anton/foo </dev/null
    Hello user, I am darcs transfer mode
    darcs: <stdin>: hGetLine: end of file

Where "fnord" is the server and "/home/anton/foo" is a Darcs repository.

If darcs 2 isn't installed, you'll get something like this:

    $ ssh fnord darcs transfer-mode --repodir /home/anton/foo </dev/null
    darcs failed:  No such command 'transfer-mode'

PS: oh damn, there is extra information in the bug subject that wasn't
in the bug description.  The reason you're getting all this noise is
because you're using scponly mode, so the darcs transfer-mode "smart
server" I talk about above isn't available.
msg8098 (view) Author: kowey Date: 2009-08-11.17:53:36
Unless I'm mistaken, there's not very much we can do about this.  To minimise
ssh connections, you must be able to run darcs remotely (ingidentally, doesn't
your scponly shell rule out darcs push to that server?)

Also, does scponly exclude the use of sftp?  Because Darcs will use sftp when
it's aware that it has multiple files it wants to fetch.
History
Date User Action Args
2009-02-17 09:45:56codeFiendcreate
2009-02-17 09:46:57codeFiendsetstatus: unread -> unknown
nosy: kowey, simon, thorkilnaur, dmitry.kurochkin, codeFiend
messages: + msg7326
2009-02-17 09:47:23codeFiendsetstatus: unknown -> unread
nosy: kowey, simon, thorkilnaur, dmitry.kurochkin, codeFiend
2009-02-18 01:55:37twbsetstatus: unread -> unknown
nosy: + twb
messages: + msg7337
2009-08-11 17:53:41koweysetstatus: unknown -> wont-fix
nosy: kowey, simon, twb, thorkilnaur, dmitry.kurochkin, codeFiend
topic: + SSH
messages: + msg8098
2009-08-11 18:01:00koweysetpriority: bug -> not-our-bug
nosy: kowey, simon, twb, thorkilnaur, dmitry.kurochkin, codeFiend
2009-08-25 17:41:05adminsetnosy: + darcs-devel, - simon
2009-08-27 14:23:11adminsetnosy: kowey, darcs-devel, twb, thorkilnaur, dmitry.kurochkin, codeFiend