I have 6 devices that i rsync to a central location to back them up. Ive been using ssh as the -e option. Problem is i use public key with passphrases, meaning to backup all six i need to go to each device and run the backup script. Since i typically backup /etc, /home, and /root this means entering sudo and the ssh passphrase 3x for each device.

I would much prefer a script that runs on back storage device that can pull the data from each device without having to use ssh (encryption is not necessary since all traffic is either local or going through a vpn connection).

I could then put this script in root’s crontab or make it a systemd service running as root.

But i dont know how i can remote sync without ssh

21 points

From my understanding, the issue is you can’t run them as background script because it is promoting you for the passphrase of the ssh key?

The easiest way to solve this is to use a ssh key that has no passphrase. Yes it’s possible and it won’t prompt you for it. Whenever you create a key, it asks you to enter a passphrase. If you hit enter without entering anything, there’s no passphrase.

But if you just don’t want ssh at all, you can use rsync daemon. Someone else mentioned it here. It’s not as hard as they said, especially if you’re in a local network where you’re fine without encryption.

permalink
report
reply
4 points

rsync with open SSH certificates is secure without prompting for any password at all

permalink
report
parent
reply
13 points
*

Use a restricted account with an un-passphrased key is probably by far the easiest way. You could also use rsyncd, but you’ll have to fool with a whole bunch of stuff. The work involved will probably be a superset of just doing a restricted account for the rsync process to use for rsync-over-ssh.

Edit: I had totally missed that the issue was passphrase of the key, not password

permalink
report
reply
3 points

They are already using ssh keys…

permalink
report
parent
reply
4 points

Oops. I totally missed that. I revised my comment to reflect it.

permalink
report
parent
reply
3 points

And they have to use locked keys? In a setup where they don’t need encryption?

permalink
report
parent
reply
9 points

Take a look at borgbackup if you want to overhault your backing up in general. It has some neat advantages.

permalink
report
reply
2 points
*

This. Rsync is not backup. Use an app that was actually designed for remote backup.

That being said, they’d probably have the same problem with borg and password-protected keys. 🙂

permalink
report
parent
reply
9 points

You can use rrsync to set up a key without any permissions besides rsyncing to one location.

https://www.man7.org/linux/man-pages/man1/rrsync.1.html

permalink
report
reply
8 points
*

I am also going to recommend the same solution as @matcha_addict@lemy.lol in this comment: https://lemmy.ml/comment/7998407

You can create a key pair that is specifically just for this kind of backup transaction.

To limit its affects, create a user and group on each of the devices that are highly restricted.

This is actually the most secure solution that doesn’t require an interactive password prompt. The passwordless key only serves this one purpose and has small attack surface.

Basically, you can tell SSH to allow root login on certain devices by setting up a root key pair. You configure SSH on the target device such that when it logs in, the login must run a script or a single command instead of running a shell, this limits what attackers can do if they somehow steal your private keys. You can also keep these private keys in your SSH agent so you only have to enter their passwords once, this will allow you to run remote commands without a password.

I would recommend also exploring the possibility of setting up an Rsync Daemon on each remote device, it keeps an Rsync process running on a remote device and listens for connections from Rsync clients. https://linuxconfig.org/how-to-setup-the-rsync-daemon-on-linux

On an unrelated topic: you might also want to look into using Btrfs and making and transferring snapshots to other devices.

permalink
report
reply
3 points

There’s a somewhat more secure way to go about it.

A backup script on the host in question runs periodically as root and makes a local copy of the files owned by the backup user. The central host then makes a backup of the not-root-owned files on the host in question. It adds two extra steps but you don’t have to set up SSH access for the root account.

permalink
report
parent
reply
2 points

I have decided to use rrsync to do this.

Im using btrfs on the back drive but using ext4 on the remote devices. Wont the snapshots, if sent to a remote device be the same size as the original data?

permalink
report
parent
reply
1 point

I guess the Btrfs snapshopt approach is not possible for your setup since the devices you want to backup are not Btrfs and cannot create snapshots.

Yes, the snapshots will be the size of the whole partition, I had not thought about that problem. I do not know if it is possible to create incremental snapshots with Btrfs.

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 7.7K

    Monthly active users

  • 6.5K

    Posts

  • 179K

    Comments