User:Ixo/Script/get-xo: Difference between revisions
m (started new page for get-ixo script.) |
m (cc-GNU GPL update) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
(These are starting notes for a new wiki page on a possible solution for backing up a XO Laptop to a server. I needed to develop a solution for my own situation, so I might as well document and share it for others. :) |
|||
⚫ | |||
{{RightTOC}} |
|||
---- |
|||
⚫ | |||
Summary |
Summary |
||
<onlyinclude> |
<onlyinclude> |
||
* get- |
* get-xo: Get a local copy/backup of your XO Laptop /home/olpc directory. |
||
</onlyinclude> |
</onlyinclude> |
||
Line 15: | Line 20: | ||
* Allows examination of files on different machine, with better local tools and resources. |
* Allows examination of files on different machine, with better local tools and resources. |
||
* run between operations on the XO, to see files created or updated. |
* run between operations on the XO, to see files created or updated. |
||
* one of many methods to 'backup' a laptop 'important' ''(Really? which ones?)'' files onto a central server. |
|||
As of Jan 7th, 2008, the below is theory, since currently: |
|||
* the default XO/ssh keys are 2048 bits long (instead of typical 1024, not sure if this is a problem) |
|||
* Can't seem to get the 'enter password' prompt to go away during ssh. |
|||
* Still investigating options for ssh and ssh-keygen. |
|||
== SETUP == |
|||
=== Step 1. SERVER === |
|||
(i.e. who's going to grab a backup copy?) |
|||
# Create a new unique user for just preforming the backups (i.e. laptopbu ) |
|||
# Logon as the new user |
|||
# create new 'ssh security' keys for your account. (See either method #1, or #2) |
|||
# Copy your 'SERVER ssh public key'. |
|||
# Put file onto Laptop. |
|||
=== Step 2. XO Laptop === |
|||
(i.e. what device to backup.) |
|||
# Using ''Terminal'' or ''root shell' logon as olpc. |
|||
# Create new file ''~olpc/.ssh/authorized_keys'' |
|||
# Copy into above file, your copy of 'SERVER ssh public key' (see above), |
|||
=== Step 3. SERVER === |
|||
(i.e. who's going to grab a backup copy?) |
|||
#!/usr/bin/bash |
#!/usr/bin/bash |
||
#### FILE: get-ixo ######## |
#### FILE: get-ixo ######## |
||
# 2008 01 12, Iain D, ixo AT myna DOT ws |
# 2008 01 12, Iain D, ixo AT myna DOT ws |
||
## RELEASED under CC- |
## RELEASED under CC-GNU GPL 3.0 license. |
||
rsync --verbose --progress --times --perms --recursive --compress --links |
$ rsync --verbose --progress --times --perms --recursive --compress --links \ |
||
olpc@192.168.0.12:/home /home |
--backup --rsh="ssh" olpc@192.168.0.12:/home /home/OLPC-BACKUP/USERNAME |
||
NOTES: |
NOTES: |
||
Line 28: | Line 61: | ||
* Must setup password for '''olpc''' account, via 'root' command of '''$ sudo passwd olpc''' . |
* Must setup password for '''olpc''' account, via 'root' command of '''$ sudo passwd olpc''' . |
||
* '''192.168.0.12''' is the IP address of the OLPC XO Laptop. |
* '''192.168.0.12''' is the IP address of the OLPC XO Laptop. |
||
* '''/home |
* '''/home/OLPC-BACKUP''' is local directory on server for the backup |
||
Where 192.168.0.12 is the IP address of the laptop you are backing up. |
|||
== Outstanding Questions == |
|||
* Is there an easy way of moving the '''ssh public key''' from SERVER to LAPTOP ? |
|||
** USB Drive ? |
|||
** Download via Webpage ? |
|||
* Best method for figuring out unique IP address for the LAPTOP needing to be backed up? |
|||
** Via Webpage, log to specific file for rsync to use ? |
|||
** Type manually ? |
|||
* Best method for uniquely identifying the LAPTOP needing to be backed up ? (use Serial Number ?) |
|||
** Is it possible for IP address to change between connection attempts? |
|||
* Archive how many copies of files? only one copy? or multiple ? Limited ? |
|||
** Rsync has some of these options built in. |
|||
== Background details == |
|||
1. Create SERVER ssh keys with either of the following methods |
|||
$ ssh-keygen (pass phase can be blank, generates ''id_rsa'' and ''id_rsa.pub'' ) |
|||
(need exact steps here.. ) |
|||
2. Your 'SERVER' ssh '''public key''' ( '''~/.ssh/id_rsa.pub''' ) looks something like this. |
|||
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyf/ux1DcURj7dyeHMPFk/zafEnuCOqJVWCb1Sy12ksEkfzoWojL1mcjXNnkfZ+P10SOlQ5kjerH7 |
|||
2JBu4DqPP3NUrcuFezhST9Ixa3NU1ts1w2VKHAcAcSAq8ayBmVGzrTxq7gayT5RSvo/nvI0TXJHSSF3Jh/7hSFAKED4YOURUSE wiki@laptop.0rg |
|||
3. Your 'SERVER' ssh '''private''' key ( '''~/.ssh/id_rsa''' ) looks something like this. |
|||
-----BEGIN RSA PRIVATE KEY----- |
|||
MIICWwIBAAKBgQDJ/+7HUNxRGPt3J4cw8WT/Np8Se4I6olVYJvVLLXaSwSR/Ohai |
|||
qMvWZyNc2eR9n4/XRI6VDmSN6sfvYkG7gOo8/c3Oty4V7OFJP0jFrc1TW2zXDZUo |
|||
cBwBxICrxrIG+UbOtPGruBrJPlFK+j+e8jRNckdJIXcmH/uFJ1HYOMssQwIBIwKB |
|||
gEVBzjW1Utn579EU3eTlDK9F7WVsLKZjivmm9QPVErX5E9PZZtiu5s0qrQnkTlb0 |
|||
4NwXgVetKcpB3iYwUQ0WQa3m919JKCriMwrcA7Zqu1bS5Q48Q9v9TgydHxyKAguD |
|||
xerfe/HBMwLNJ1WpeEFYwHNZi+Y3k2Mpvy8XuDB5yRUrAkEA5S1kceYwXMF3P1ZR |
|||
Y6B/3Hy1KH5vn4YIZi5cfbHQZ2B/cK2Ak4NXERQR5sKCn1Kc7yG+fY846iLU7W2G |
|||
avSlbQJBAOGkPwU9aHxgR6jnoD2Ka5fUDbVQzIMc/z63kWEk6b2Pt43FVLEX/1bf |
|||
1I/eXbqwYBNNgIHPYVFrEYoLGb/3+m8CQHxpGUUlMDJaZU5EzRjTeJxDsszW7CNm |
|||
BI89vS5KlbR2No2gA/hOnPqkfr8ZIlZ9TeDmbrkwfftx/o+EmW1C+rcCQQCuEP1q |
|||
cTNYogtlCnRMuz0OuYbq9TANX4MTH+UtrsLxUZw6KoMph4p2N6P59K60lrCD61SB |
|||
ZXb1ql38xrwXv0wpAkEA4qsLj1QhcLSZdHuuSyLwjovqVzPB+PKJs/c+JDO0Nr6b |
|||
DYjugZ9YtVNLd5JEQHSkYI+TLGrCCFAKED4YOURUSE== |
|||
-----END RSA PRIVATE KEY----- |
|||
4. Your 'LAPTOP' authorized_keys ( '''~olpc/.ssh/authorized_keys''' ) looks something like this. |
|||
: (Note: Final configuration, this file should be the same as ssh '''public''' key) |
|||
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyf/ux1DcURj7dyeHMPFk/zafEnuCOqJVWCb1Sy12ksEkfzoWojL1mcjXNnkfZ+P10SOlQ5kjerH7 |
|||
2JBu4DqPP3NUrcuFezhST9Ixa3NU1ts1w2VKHAcAcSAq8ayBmVGzrTxq7gayT5RSvo/nvI0TXJHSSF3Jh/7hSFAKED4YOURUSE wiki@laptop.0rg |
|||
5. See 'rsync --help' or 'man rsync' for full explanation of options. |
|||
6. See 'ssh --help' or 'man ssh' for full explanation of options. |
Latest revision as of 03:25, 16 April 2008
(These are starting notes for a new wiki page on a possible solution for backing up a XO Laptop to a server. I needed to develop a solution for my own situation, so I might as well document and share it for others. :)
Intro
Summary
- get-xo: Get a local copy/backup of your XO Laptop /home/olpc directory.
Description
- From server (or any other computer), backup and copy files from XO Laptop.
- Script can ran multiple times, will only copy over files which have changed.
Benefits
- Creates a backup of /home/olpc in case of errors or mistaken deletions.
- Allows examination of files on different machine, with better local tools and resources.
- run between operations on the XO, to see files created or updated.
- one of many methods to 'backup' a laptop 'important' (Really? which ones?) files onto a central server.
As of Jan 7th, 2008, the below is theory, since currently:
- the default XO/ssh keys are 2048 bits long (instead of typical 1024, not sure if this is a problem)
- Can't seem to get the 'enter password' prompt to go away during ssh.
- Still investigating options for ssh and ssh-keygen.
SETUP
Step 1. SERVER
(i.e. who's going to grab a backup copy?)
- Create a new unique user for just preforming the backups (i.e. laptopbu )
- Logon as the new user
- create new 'ssh security' keys for your account. (See either method #1, or #2)
- Copy your 'SERVER ssh public key'.
- Put file onto Laptop.
Step 2. XO Laptop
(i.e. what device to backup.)
- Using Terminal or root shell' logon as olpc.
- Create new file ~olpc/.ssh/authorized_keys
- Copy into above file, your copy of 'SERVER ssh public key' (see above),
Step 3. SERVER
(i.e. who's going to grab a backup copy?)
#!/usr/bin/bash #### FILE: get-ixo ######## # 2008 01 12, Iain D, ixo AT myna DOT ws ## RELEASED under CC-GNU GPL 3.0 license. $ rsync --verbose --progress --times --perms --recursive --compress --links \ --backup --rsh="ssh" olpc@192.168.0.12:/home /home/OLPC-BACKUP/USERNAME
NOTES:
- Command is one single line.
- Must setup password for olpc account, via 'root' command of $ sudo passwd olpc .
- 192.168.0.12 is the IP address of the OLPC XO Laptop.
- /home/OLPC-BACKUP is local directory on server for the backup
Where 192.168.0.12 is the IP address of the laptop you are backing up.
Outstanding Questions
- Is there an easy way of moving the ssh public key from SERVER to LAPTOP ?
- USB Drive ?
- Download via Webpage ?
- Best method for figuring out unique IP address for the LAPTOP needing to be backed up?
- Via Webpage, log to specific file for rsync to use ?
- Type manually ?
- Best method for uniquely identifying the LAPTOP needing to be backed up ? (use Serial Number ?)
- Is it possible for IP address to change between connection attempts?
- Archive how many copies of files? only one copy? or multiple ? Limited ?
- Rsync has some of these options built in.
Background details
1. Create SERVER ssh keys with either of the following methods
$ ssh-keygen (pass phase can be blank, generates id_rsa and id_rsa.pub ) (need exact steps here.. )
2. Your 'SERVER' ssh public key ( ~/.ssh/id_rsa.pub ) looks something like this.
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyf/ux1DcURj7dyeHMPFk/zafEnuCOqJVWCb1Sy12ksEkfzoWojL1mcjXNnkfZ+P10SOlQ5kjerH7 2JBu4DqPP3NUrcuFezhST9Ixa3NU1ts1w2VKHAcAcSAq8ayBmVGzrTxq7gayT5RSvo/nvI0TXJHSSF3Jh/7hSFAKED4YOURUSE wiki@laptop.0rg
3. Your 'SERVER' ssh private key ( ~/.ssh/id_rsa ) looks something like this.
-----BEGIN RSA PRIVATE KEY----- MIICWwIBAAKBgQDJ/+7HUNxRGPt3J4cw8WT/Np8Se4I6olVYJvVLLXaSwSR/Ohai qMvWZyNc2eR9n4/XRI6VDmSN6sfvYkG7gOo8/c3Oty4V7OFJP0jFrc1TW2zXDZUo cBwBxICrxrIG+UbOtPGruBrJPlFK+j+e8jRNckdJIXcmH/uFJ1HYOMssQwIBIwKB gEVBzjW1Utn579EU3eTlDK9F7WVsLKZjivmm9QPVErX5E9PZZtiu5s0qrQnkTlb0 4NwXgVetKcpB3iYwUQ0WQa3m919JKCriMwrcA7Zqu1bS5Q48Q9v9TgydHxyKAguD xerfe/HBMwLNJ1WpeEFYwHNZi+Y3k2Mpvy8XuDB5yRUrAkEA5S1kceYwXMF3P1ZR Y6B/3Hy1KH5vn4YIZi5cfbHQZ2B/cK2Ak4NXERQR5sKCn1Kc7yG+fY846iLU7W2G avSlbQJBAOGkPwU9aHxgR6jnoD2Ka5fUDbVQzIMc/z63kWEk6b2Pt43FVLEX/1bf 1I/eXbqwYBNNgIHPYVFrEYoLGb/3+m8CQHxpGUUlMDJaZU5EzRjTeJxDsszW7CNm BI89vS5KlbR2No2gA/hOnPqkfr8ZIlZ9TeDmbrkwfftx/o+EmW1C+rcCQQCuEP1q cTNYogtlCnRMuz0OuYbq9TANX4MTH+UtrsLxUZw6KoMph4p2N6P59K60lrCD61SB ZXb1ql38xrwXv0wpAkEA4qsLj1QhcLSZdHuuSyLwjovqVzPB+PKJs/c+JDO0Nr6b DYjugZ9YtVNLd5JEQHSkYI+TLGrCCFAKED4YOURUSE== -----END RSA PRIVATE KEY-----
4. Your 'LAPTOP' authorized_keys ( ~olpc/.ssh/authorized_keys ) looks something like this.
- (Note: Final configuration, this file should be the same as ssh public key)
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyf/ux1DcURj7dyeHMPFk/zafEnuCOqJVWCb1Sy12ksEkfzoWojL1mcjXNnkfZ+P10SOlQ5kjerH7 2JBu4DqPP3NUrcuFezhST9Ixa3NU1ts1w2VKHAcAcSAq8ayBmVGzrTxq7gayT5RSvo/nvI0TXJHSSF3Jh/7hSFAKED4YOURUSE wiki@laptop.0rg
5. See 'rsync --help' or 'man rsync' for full explanation of options.
6. See 'ssh --help' or 'man ssh' for full explanation of options.