Das Vorhaben und der Grund für diesen aufwand mal vorweg:
Ich hatte die Aufgabe eine Lösung zu suchen wie Daten von einem externen Rechner der stets Messdaten produziert, automatisiert zu Übertragen auf einen Server und dies auf einem gesichertem Wege.
FTP war dort aber nicht gewünscht und mit einem Windows Server nicht die sicherste Variante, jedenfalls in hinblick auf alte vllt auch aktuelle IIS FTP Versionen.
Somit erschloss sich die Idee einen Linux Server (in dem Falle Ubuntu Server 10.04 LTS) dort aufzusetzen.
Das Teil ist ja schnell installiert:
- CD rein und von dieser Booten
- Ubuntu Server installieren alles nach vorschlag
- Netzwerk anpassen mit statischer IP
- im Tasksel noch openssh Server und Samba ausgewählt und ab dafür
- Passwort setzen nicht vergessen 😉
Installation Ubuntu Server
Standard Installation
Feste IP vergeben / Netzwerk manuell konfigurieren
Oder später
user@server: nano /etc/networking/interfaces ## Ethernet Schnittstelle 0 auto eth0
# Beim Bootvorgang automatisch starten iface eth0 inet static address 192.168.0.97 # Zu benutzende Adresse netmask 255.255.255.0 # Netzwerkmaske gateway 192.168.0.1 # Standard-Gateway
Die resolv.conf prüfen
user@server:~ nano /etc/resolv.conf nameserver ipvomnameserver nameserver weiterednsip
OpenSSH Server bei installation oder später mit
apt-get install openssh-server
An den Clients mit Linux jeweils
user@client:~$ ssh-keygen Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: 24:55:ee:67:83:72:82:55:5f:b9:b4:09:2a:fa:56:a1 user@client.local The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | + . | | S E | | . + + | | .o . o.| | o.oo. oo| | ==o.BO+| +-----------------+ user@client:~$
Key zum Server kopieren
user@client:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server Password: Now try logging into the machine, with "ssh 'user@server'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. user@client:~$
Test der Anmeldung
user@client:~$ ssh user@server Enter passphrase for key '/home/user/.ssh/id_rsa':
SyncJob erstellen:
user@client:~$ nano script #!/bin/bash rsync -avzb /von/client/dir/ -e ssh user@serverip:/pfad/auf/server/
Script ausführbar machen:
user@client:~$ chmod +x script
Samba installieren und einrichten
tasksel ausführen und samba auswählen dann mit
nano /etc/samba/smb.conf
bearbeiten und am Ende:
[Daten] comment = Daten read ony = no writeable = yes path = /home/user/files guest ok = yes
einfügen
Dienst neu starten mit
/etc/init.d/smbd restart
Automatisieren von rsync
user@client:~ crontab –e */1 * * * * /pfad/zum/script # script läuft jede Minute */30 * * * * /pfad/zum/script # script läuft alle 30 Minuten * */1 * * * /pfad/zum/script # script läuft jede Stunde 0 0 * * * /pfad/zum/script # script läuft immer um Mitternacht 45 12 * * * /pfad/zum/script # script läuft immer um 12:45Uhr