From: Miklos S. <mi...@sz...> - 2013-02-18 10:19:00
|
On Sun, Feb 17, 2013 at 12:23 PM, Omega Weapon <ome...@gm...> wrote: > Please CC me in to emails - I'm not subscribed to the mailing list. > > I have a SSH server to access where I use a special private keyfile that > is stored in a path with spaces. So testing getting sshfs working (all > the debug options were needed to even get sshfs to tell me what was > breaking...): > > ======================================================================= > > $ sudo sshfs -p 22222 -o > debug,sshfs_debug,loglevel=debug,IdentityFile="<path to identity file > with spaces>" root@<host>:"/root/files/source_code" "<local directory to > mount into" > > SSHFS version 2.4 > FUSE library version: 2.9.0 > nullpath_ok: 0 > nopath: 0 > utime_omit_ok: 0 > executing <ssh> <-x> <-a> <-oClearAllForwardings=yes> <-oPort=22222> > <-ologlevel=debug> <-oIdentityFile=path to identity file with spaces, no > speechmarks etc> <-2> <root@omegafw> <-s> <sftp> > command-line line 0: garbage at end of line; "Files/Philips". > read: Connection reset by peer > > ======================================================================= > > The fragment it complains about is the string after the first space in > the IdentityFile path. Ssh needs the argument to be qouted. If you just add -oIdentityFile="foo bar" then the shell will strip those quote marks. Try something like this: -oIndentityFile='"foo bar"'. The outer single quotes will protect the inner double quotes. Note: exactly the same thing is required if you just start ssh, not sshfs. I think the sshfs behavior of passing arguments verbatim to ssh is fine. Thanks, Miklos |