Jason Haar
2006-Nov-18 22:17 UTC
cannot get fuse-ssh to operate from a batch script - but does from cmd line
Hi there I am wanting to call sshfs (auth via DSA keys) via a rsync pre-xfer bash script, and cannot get something right. If I run it from the cmdline line: env - sshfs usern@server:/share /dir/path -o -o IdentityFile=/tmp/id_dsa it mounts it just fine. (note the "env -" - I specifically tested with no environment to try to make the two situations identical). If I put that sole line into a "/tmp/test" shell script and run it from the commandline, or from a cronjob, it also works fine. However, calling "/tmp/test" from an rsync-triggered pre-xfer script (both as root) doesn't work. sshfs reports read: Connection reset by peer The remote ssh server shows the successful connection - it shows "subsystem request for sftp" followed immediately by "session closed for user usern" So it appears that it isn't an SSH authentication problem - but something else. This is on a FC5 box - but I have disabled SELinux, and have tried with iptables disabled on both ends too. Running sshfs with "-o debug -o sshfs_debug" doesn't really show anything odd. Obviously it works fine from the cmdline, but from the rsync script ends with "Connection reset by peer" just as before - with no good reason why. I even straced it without much to show. But I do wonder about file descriptors. Any ideas where I should look next? FC5, rsync-2.6.9, fuse-2.5.3-5.fc5, fuse-sshfs-1.7-1.fc5 PS: I have worked around it by getting the rsync xfre script to throw the sshfs mount command out as an "at now" script. That works fine - it's only when called directly that it fails... -- Cheers Jason Haar Information Security Manager, Trimble Navigation Ltd. Phone: +64 3 9635 377 Fax: +64 3 9635 417 PGP Fingerprint: 7A2E 0407 C9A6 CAF6 2B9F 8422 C063 5EBB FE1D 66D1
Miklos Szeredi
2006-Nov-22 20:43 UTC
[fuse-devel] cannot get fuse-ssh to operate from a batch script - but does from cmd line
> I am wanting to call sshfs (auth via DSA keys) via a rsync pre-xfer bash > script, and cannot get something right. If I run it from the cmdline line: > > env - sshfs usern@server:/share /dir/path -o -o IdentityFile=/tmp/id_dsa > > it mounts it just fine. (note the "env -" - I specifically tested with > no environment to try to make the two situations identical). If I put > that sole line into a "/tmp/test" shell script and run it from the > commandline, or from a cronjob, it also works fine. > > > However, calling "/tmp/test" from an rsync-triggered pre-xfer script > (both as root) doesn't work. sshfs reports > > read: Connection reset by peer > > > The remote ssh server shows the successful connection - it shows > "subsystem request for sftp" followed immediately by "session closed for > user usern" > > So it appears that it isn't an SSH authentication problem - but > something else. This is on a FC5 box - but I have disabled SELinux, and > have tried with iptables disabled on both ends too. > > Running sshfs with "-o debug -o sshfs_debug" doesn't really show > anything odd. Obviously it works fine from the cmdline, but from the > rsync script ends with "Connection reset by peer" just as before - with > no good reason why. > > > I even straced it without much to show. But I do wonder about file > descriptors. Any ideas where I should look next?You could try the same with sftp instead of sshfs, to check if it's a problem in sshfs or something on the server side. Miklos