No plugin could deal with the schema ssh...

Asked by DiQ on 2010-01-04

Hello.

I have been using SBackup on Ubuntu Hardy and Jaunty although it's got a number of issues so have been wanting to use NSSBackup

Am testing it out on a Jaunty machine using version 0.2-0 RC7 as provided in the repositories. I have the Fuse SSH plugin installed and have copied the exact SSH line that works in SBackup but get the error

No plugin could deal with the schema ssh ......

Please advise

Also do you have any idea when 0.3 will be released ?

Thanks

Question information

Language:
English Edit question
Status:
Solved
For:
nssbackup Edit question
Assignee:
No assignee Edit question
Solved by:
DiQ
Solved:
2010-01-24
Last query:
2010-01-24
Last reply:
2010-01-24
Launchpad Janitor (janitor) said : #1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

DiQ (dik23) said : #2

No one want to comment on this ?

Anton (feenstra) said : #3

dik23 wrote:
> Question #96168 on NSsbackup changed:
> https://answers.launchpad.net/nssbackup/+question/96168
>
> Status: Expired => Open
>
> dik23 is still having a problem:
> No one want to comment on this ?

This is the issue that still keeps me back from switching from sbackup
to nsbackup. I volunteered earlier to solve this issue, and asked the
main nsbackup developers to give me some pointers on where to start.
Lacking any response there, I cannot do this, but I am still willing!

--
Groetjes,

Anton
  _____________ _______________________________________________________
| | |
| _ _ ___,| K. Anton Feenstra |
| / \ / \'| | | IBIVU/Bioinformatics - Free University Amsterdam |
|( | )| | | De Boelelaan 1083A - 1081 HV Amsterdam - Netherlands |
| \_/ \_/ | | | Tel +31 20 59 87783 - Fax +31 20 59 87653 - Room P136 |
| | <email address hidden> - www.few.vu.nl/~feenstra/ |
| | "We're Gonna Hit You Harder" (Scoter) |
|_____________|_______________________________________________________|

Hello,

Sorry, I didn't have much time in the past months to work on NSsbackup.
Regarding your question, the problem comes from the fact that the SSH URL in NSsbackup is not using the same format as in Sbackup.
In NSsbackup, the definition of the schemas is delegated to each plugin.
The schema for SSH is:
ssh://user:password@server/my/folder/path/

regards

Oumar Aziz OUATTARA suggests this article as an answer to your question:
FAQ #921: “No plugin could deal with the schema ssh...”.

DiQ (dik23) said : #6

Thanks

Ok - new unconnected problem

Have un-installed and upgraded to Karmic. Trying to re-install but the and the repo doesn't work, I get a 404 not found

Will get back to it tomorrow. Any idea when 0.3 will be ready ?

> Have un-installed and upgraded to Karmic. Trying to re-install but the and the repo doesn't work, I get a 404 not found

This is because there were no karmic package at the moment. I have uploaded packages for karmic. You can retry installing it.

> Any idea when 0.3 will be ready ?

No idea at all, depends on the time and motivation we will have. But I have one question. Which is the feature that you are waiting in 0.3 ?

DiQ (dik23) said : #8

Have installed now but my ssh server is not on 22 so I have been using

ssh://user:password@server:NNNNN/my/folder/path/

And it gives me the same error

I can ssh using command line and Putty

Anton (feenstra) said : #9

Oumar Aziz OUATTARA wrote:
> Question #96168 on NSsbackup changed:
> https://answers.edge.launchpad.net/nssbackup/+question/96168
>
> Oumar Aziz OUATTARA proposed the following answer:
> Hello,
>
> Sorry, I didn't have much time in the past months to work on NSsbackup.

No problem, I have the same problem for the past years ;-O

> Regarding your question, the problem comes from the fact that the SSH URL in NSsbackup is not using the same format as in Sbackup.
> In NSsbackup, the definition of the schemas is delegated to each plugin.
> The schema for SSH is:
> ssh://user:password@server/my/folder/path/

That seems very close to what I'm using in sbackup (anonimized version
shown):

ssh://<email address hidden>/home/uname/xd/backup_note-uname

Except for the fact that I do include my verbatim password in the url,
since that is stored in plain text in (ns)sbackup's config file. I have
in stead set up passkeys for secure login without password (which works
flawlessly with plain ssh/scp/sftp etc., and with sbackup).

Is this what nsbackup cannot handle? I don't think that is desired
behaviour, for the reason mentioned above. I propose adding an
additional schema (or modifying the existing one; I don't know how this
works in detail) to accept 'ssh://user@server/my/folder/path/'.
(Where) Can I start fixing this?

--
Groetjes,

Anton
  _____________ _______________________________________________________
| | |
| _ _ ___,| K. Anton Feenstra |
| / \ / \'| | | IBIVU/Bioinformatics - Free University Amsterdam |
|( | )| | | De Boelelaan 1083A - 1081 HV Amsterdam - Netherlands |
| \_/ \_/ | | | Tel +31 20 59 87783 - Fax +31 20 59 87653 - Room P136 |
| | <email address hidden> - www.few.vu.nl/~feenstra/ |
| | "We're Gonna Hit You Harder" (Scoter) |
|_____________|_______________________________________________________|

> > Regarding your question, the problem comes from the fact that the SSH URL in NSsbackup is not using the same format as in Sbackup.
> > In NSsbackup, the definition of the schemas is delegated to each plugin.
> > The schema for SSH is:
> > ssh://user:password@server/my/folder/path/
>
> That seems very close to what I'm using in sbackup (anonimized version
> shown):
>
> ssh://<email address hidden>/home/uname/xd/backup_note-uname
>
> Except for the fact that I do include my verbatim password in the url,
> since that is stored in plain text in (ns)sbackup's config file. I have
> in stead set up passkeys for secure login without password (which works
> flawlessly with plain ssh/scp/sftp etc., and with sbackup).
>
> Is this what nsbackup cannot handle?

yes, you go it right !
Here is the Regex that NSsbackups SSH plugin uses:

"^(ssh://)([^:]+?:[^@]+?)@([^/^:^@]+?)/(.*)"

look at the matchScheme method here:
http://bazaar.launchpad.net/~nssbackup-dev/nssbackup/0.2/annotate/head%3A/src/nssbackup/plugins/sshFuseFAM.py

So not putting a password is not an option :-( .

>
> I don't think that is desired
> behaviour, for the reason mentioned above. I propose adding an
> additional schema (or modifying the existing one; I don't know how this
> works in detail) to accept 'ssh://user@server/my/folder/path/'.
> (Where) Can I start fixing this?

You can get the code using this page:
https://code.edge.launchpad.net/~nssbackup-dev/nssbackup/0.2

but the real problem here is not changing the Regex, but to use
pexpect correctly. If you know another api that can allow us to use
fuse, we might change for that one.

--
Oumar Aziz OUATTARA

DiQ (dik23) said : #11

So how should I enter the port number ?

According to the regex, you can't set a port. I have opened a bug report to fix this issue.

Regards

I have committed a change to support the port number. You can get the file from:

https://launchpad.net/~nssbackup-dev/+archive/ppa/+files/nssbackup_0.2-0~rc8.tar.gz

Changelog available at https://launchpad.net/~nssbackup-dev/+archive/ppa/+packages .

Can you try it ?

By the way if you want to know how to install it from the sources, look at FAQ #362 .

The other way would be to wait for the packages to be built in the dev ppa and use that PPA to install it.

DiQ (dik23) said : #15

That was quick !

Thank you for that - it works fine now

However the INSTALL file it doesn't mention the need for python-setuptools and doesn't make install without it

Will this fix make it to the repo soon or should I continue to install from source ? Where's the details for the dev ppa ?

DiQ (dik23) said : #16

Sorry - forget the python-setuptools comment

The last question still stands

DiQ (dik23) said : #17

Actually on further examination, it's not fixed

The test tells me everything is ok but when I try and run the backup to the remote location I get an error (debug log):

2010-01-24 15:54:19,828 - ERROR - nssbackupd.py:__onError(226) - [Errno 13] Permission denied: '/mnt/nssbackup/ssh_USER@SERVER_NNNNN/PATH'
2010-01-24 15:54:19,830 - ERROR - nssbackupd.py:__onError(227) - Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/nssbackup/nssbackupd.py", line 217, in run
    self.__bm.makeBackup()
  File "/usr/local/lib/python2.6/dist-packages/nssbackup/managers/BackupManager.py", line 277, in makeBackup
    self.__checkTarget()
  File "/usr/local/lib/python2.6/dist-packages/nssbackup/managers/BackupManager.py", line 615, in __checkTarget
    FAM.makedir(self.config.get("general","target"))
  File "/usr/local/lib/python2.6/dist-packages/nssbackup/managers/FileAccessManager.py", line 61, in makedir
    os.makedirs( target, 0750 )
  File "/usr/lib/python2.6/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.6/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/mnt/nssbackup/ssh_USER@SERVER_NNNNN/PATH'

> Will this fix make it to the repo soon or should I continue to install
> from source ?

No you won't have to continue installing manually. But I want to test
the fixes before publishing it into the official PPA.

> Where's the details for the dev ppa ?

With a second thought, it might not be safe for you to install that PPA.
I use it to test packages so it could break your system.

> Actually on further examination, it's not fixed
>
> The test tells me everything is ok but when I try and run the backup to
> the remote location I get an error (debug log):
>
> 2010-01-24 15:54:19,828 - ERROR - nssbackupd.py:__onError(226) - [Errno 13] Permission denied: '/mnt/nssbackup/ssh_USER@SERVER_NNNNN/PATH'
> 2010-01-24 15:54:19,830 - ERROR - nssbackupd.py:__onError(227) - Traceback (most recent call last):
> File "/usr/local/lib/python2.6/dist-packages/nssbackup/nssbackupd.py", line 217, in run
> self.__bm.makeBackup()
> File "/usr/local/lib/python2.6/dist-packages/nssbackup/managers/BackupManager.py", line 277, in makeBackup
> self.__checkTarget()
> File "/usr/local/lib/python2.6/dist-packages/nssbackup/managers/BackupManager.py", line 615, in __checkTarget
> FAM.makedir(self.config.get("general","target"))
> File "/usr/local/lib/python2.6/dist-packages/nssbackup/managers/FileAccessManager.py", line 61, in makedir
> os.makedirs( target, 0750 )
> File "/usr/lib/python2.6/os.py", line 150, in makedirs
> makedirs(head, mode)
> File "/usr/lib/python2.6/os.py", line 157, in makedirs
> mkdir(name, mode)
> OSError: [Errno 13] Permission denied: '/mnt/nssbackup/ssh_USER@SERVER_NNNNN/PATH'
>

Hum, interesting. Can you open a bug for that and link it to the
question ? I think it's a different problem than the original one.

Regards

--
Oumar Aziz OUATTARA

Les femmes seraient charmantes si on pouvait tomber dans leur bras
sans tomber dans leurs mains.
-+- Ambrose Bierce (1842-1914) -+-

DiQ (dik23) said : #19

Have done

Anton (feenstra) said : #20

Oumar Aziz OUATTARA wrote:
> Question #96168 on NSsbackup changed:
> https://answers.launchpad.net/nssbackup/+question/96168
>
> Oumar Aziz OUATTARA proposed the following answer:
>>> Regarding your question, the problem comes from the fact that the SSH URL in NSsbackup is not using the same format as in Sbackup.
>>> In NSsbackup, the definition of the schemas is delegated to each plugin.
>>> The schema for SSH is:
>>> ssh://user:password@server/my/folder/path/
>> That seems very close to what I'm using in sbackup (anonimized version
>> shown):
>>
>> ssh://<email address hidden>/home/uname/xd/backup_note-uname
>>
>> Except for the fact that I do include my verbatim password in the url,
>> since that is stored in plain text in (ns)sbackup's config file. I have
>> in stead set up passkeys for secure login without password (which works
>> flawlessly with plain ssh/scp/sftp etc., and with sbackup).
>>
>> Is this what nsbackup cannot handle?
>
> yes, you go it right !
> Here is the Regex that NSsbackups SSH plugin uses:
>
> "^(ssh://)([^:]+?:[^@]+?)@([^/^:^@]+?)/(.*)"
>
> look at the matchScheme method here:
> http://bazaar.launchpad.net/~nssbackup-dev/nssbackup/0.2/annotate/head%3A/src/nssbackup/plugins/sshFuseFAM.py
>
> So not putting a password is not an option :-( .
>
>> I don't think that is desired
>> behaviour, for the reason mentioned above. I propose adding an
>> additional schema (or modifying the existing one; I don't know how this
>> works in detail) to accept 'ssh://user@server/my/folder/path/'.
>> (Where) Can I start fixing this?
>
> You can get the code using this page:
> https://code.edge.launchpad.net/~nssbackup-dev/nssbackup/0.2
>
> but the real problem here is not changing the Regex, but to use
> pexpect correctly. If you know another api that can allow us to use
> fuse, we might change for that one.

No, I don't know. Can't we handle this with pexpect in some way?

--
Groetjes,

Anton
  _____________ _______________________________________________________
| | |
| _ _ ___,| K. Anton Feenstra |
| / \ / \'| | | IBIVU/Bioinformatics - Free University Amsterdam |
|( | )| | | De Boelelaan 1083A - 1081 HV Amsterdam - Netherlands |
| \_/ \_/ | | | Tel +31 20 59 87783 - Fax +31 20 59 87653 - Room P136 |
| | <email address hidden> - www.few.vu.nl/~feenstra/ |
| | "We're Gonna Hit You Harder" (Scoter) |
|_____________|_______________________________________________________|

Anton (feenstra) said : #21

This question is marked as solved, but what the solution is does not become apparent from the discussion above.

I've just tested nssbackup 3.0. The remote location interface has been improved (nice dialogue box to set hostname, directory, username etc). I can enter a remote location without password, and successfully create a backup (of course, you need some other authentication, ssh keys in my case).