I am trying to get this installed on my DS220+ (DSM 6.2.4-25554) using instructions from Run (c)XSIBackup as a server in Synology NAS
I have enabled SSH on the NAS but cannot log in using root. It appears this is some security limitation in newer versions. Using my administrator user works though.
I also enabled the "homes" as per the instructions which created the home dir on /volume1/homes/<user>/
The next problem would be that using the GUI it is not able to detect the correct home directory.
Instead it detects the system as "linux" and tries to create the authorized_keys in /home/<user>/.ssh/
I think it might be a better option to try and read the HOME env variable after being logged in.
So I had to use the cli to add the key using my admin user (not the "root" as specified in your instructions). It seems to have gone well as I can see the authorized_keys file /volume1/homes/<user>/.ssh/authorized_keys and the cli process didn't complain of anything oher than asking for the password a bunch of times.
Then I went on and opened the GUI again and checked the linked servers window, but nothing showed up there.
At this point I am assuming that the cli worked and that the GUI and cli do not use the same information to list the linked servers, which I think is a bug.
I did try to use the GUI to set up a job and it complained about no linked servers, so that's a stopper.
I also checked the web gui of the NAS and it shows some weird things there, both a "home" a "homes" folder and while "homes" contains a few users and the one I set up having the .ssh folder, "home" also has a ".ssh" folder and apparently the same authorized_keys file (by change date and file size)
However searching the system from cli does not reveal any such extra file so it might just be some synology bug.
Long story short, how do I get this setup so the gui works as well?
note that I did run a backup command manually as per the instructions and that worked. (well, at the time of this writing, it's still going on, it has 52 GB to transfer over)
The GUI is just a helper to deploy jobs faster under controlled circumstances, namely: full compatible systems. The GUI is not as powerful in concept as the binary tool when used from the command line.
As you try to carry out more complex setups the GUI might not be able to keep up. Nonetheless, in case of closed propietary systems, such as Synology, which are in turn becoming more closed and more propietary as they launch new versions, you can always just exchange keys manually.
cat xsibackup_id_rsa.pub | ssh email@example.com "cat >> /path/to/authorized_keys"
In short: we offer a product that is compatible with ESXi and Linux systems following OpenSSH conventions, no custom setups. As you drift from those compatible systems you may need to perform some action manually or you may even not be able to make XSIBackup work at all, we can't predict its behaviour on the 'unknown'.
So, to guarantee that you have the less possible problems stick to ESXi and Linux.
That doesn't mean that you won't be able to backup your VMs to a USB device attached to your android TV, just that we can't guarantee that you will.
Right, I understand that, but your documents/manuals imply that synology nas is actually a supported system and it's easy to setup. From what you say now that seems to no longer be the case. A bit confusing.
In any case, at least the home path issue looks like an easy fix.
(c)Synology has been drifting away and making its DSM OS more and more closed and propietary. Up until not so long ago you were still able to use the root user over SSH. In fact they started by limiting SSH access to the root user while prohibiting any other user from accessing via SSH.
Now they seem to have taken some additional turn, we'll investigate this and if that is the case we'll remove the Synology compatibility notice and update the warning on the related posts.
This doesn't mean that you can't make (c)Synology work with (c)XSIBackup. Just as long as you can exchange keys and access via SSH with some user you will be able to. It will nonetheless require you to:
1 - Know how to exchange SSH keys manually in the worst of the cases. This is conceptually fairly simple (see above answer), just add the public key of your frontend (c)ESXi host to the authorized_keys file of the Synology DSM user you will be employing over SSH.
2 - Know where the .ssh profiles are stored. This is configurable in DSM. You normally store them in /volume1/homes, it could be anywhere else though.
3 - Use the --home-path argument from (c)XSIBackup to point to the place where the authorized_keys file is.
In a typical DSM setup you would have your admin user's authorized_keys file here:
Then use the above bash code snippet or use the --add-key argument along with the --home-path option.
Once you have added the public SSH key you just have to check whether the key exchange authentication is working by issuing something like the following:
ssh -i xsibackup_id_rsa firstname.lastname@example.org "date"
Where the xsibackup_id_rsa is the private key. You should see the date printed out.
Now you just need to make sure that the user you will be employing has execute permissions on the /bin/xsibackup binary, the /var/log/xsi and /etc/xsi folders and off course on the folder where you will be storing your backups and replicas.
Given that on (c)Synology the admin user is the most privileged one, this last phase should be quite straight.
This post is in French, nonetheless you can easily translate it keeping 99% of accuracy
It should allow you to have an overview of how to enable the root user on different DSM versions
Enable the Synology root user in different DSM versions