Ohjeita kayttoonotosta

1. Johdanto

Nämä ohjeet sisältävät välttämätöntä tietoa CSC - Tieteen tietotekniikan keskuksen ylläpitämän pitkäaikaissäilytyspalvelun käyttöönotosta aineiston siirtämiseksi. Alla olevat ohjeet soveltuvat Windows-, Linux- ja Mac OS X -käyttöjärjestelmille.

Aluksi yhteyden luontia ja aineiston siirtoa testataan testiympäristössä ja vasta myöhemmin siirrytään tuotantoympäristöön. Ensin tulee luoda avainparit kirjautumista ja allekirjoittamista varten sekä rekisteröidä ne. Kun tämän jälkeen yksi paketti on saatu allekirjoitettua ja yhteydenmuodostus testattua, voit kokeilla paketoida ja siirtää aineistoa testiympäristöön. Lopulta käyttöönottovaihe päätetään siirtymällä tuotantoympäristöön.

Huom! Mitään aineistoa ei viedä testiympäristöstä varsinaiseen pitkäaikaissäilytykseen.

2. Avainparien luonti ja siirtovalmistelu

Avaiminen luonti tehdään vain kerran testipalvelimelle ja kerran tuotantopalvelimelle käyttöönottoa aloitettaessa. Avainpareja on kaksi erilaista: 1) RSA-avainpari, jolla muodostetaan yhteys PAS-palveluun ja 2) avainpari siirtopakettien allekirjoitusta varten.

Avaimien luontiin tarvitset OpenSSL-sovelluksen. Lisäksi tarvitset Linuxissa ja Mac OS X:ssa OpenSSH-sovelluksen, ja Windowsissa WinSCP-sovelluksen. Windows-järjestelmässä sovellukset täytyy noutaa ja asentaa erikseen. Linux-järjestelmässä sovellukset on monesti asennettu valmiiksi tai ne on saatavilla Linux-jakelun paketinhallinnasta. Mac OS X -järjestelmässä tarvittavat sovellukset löytyvät valmiina.

Windows-järjestelmät

  1. Asenna OpenSSL (uusin versio) osoitteesta: http://indy.fulgan.com/SSL/ purkamalla lataamasi ZIP haluamaasi hakemistoon. Näissä ohjeissa käytetään hakemistoa: "c:\\openssl".
  2. Kopioi konfiguraatiotiedosto http://web.mit.edu/crypto/openssl.cnf siihen hakemistoon, johon asensit OpenSSL:n.
  3. Asenna WinSCP osoitteesta: http://winscp.net/
  4. Käynnistä WinSCP ja valitse "Tools"-valikosta "Run PuTTYgen".
  5. Valitse avautuvan ikkunan alareunasta RSA (vanhemmilla versioilla SSH-2 RSA). Varmista, että bittien määrä ikkunan oikeassa alakulmassa on 2048. Klikkaa "Generate"-nappia ja liikuttele hiirtä ikkunan tyhjällä alueella, kunnes avain on luotu.
  6. Tyhjennä "Key comment"-kenttä. Anna passphrase-kenttiin avainfraasi. Avainfraasin tulee olla vähintään 12 merkkiä pitkä ja sisältää numeroita.
  7. Tallenna yksityinen avain klikkaamalla "Save private key"-nappia ja antamalla tiedostonimeksi "id_rsa_pastesti_organization.pkk".
  8. Maalaa "Public key for pasting into OpenSSH authorized_keys file"-kentästä kaikki teksti hiirellä ja kopioi se leikepöydälle näppäinyhdistelmällä Ctrl+C.
  9. Avaa Windowsin Muistio (Notepad) ja liitä leikepöydän sisältö uuteen muistioon näppäinyhdistelmällä Ctrl+V. Tallenna tämä tiedostonimellä "id_rsa_pastesti_organization.pub".
  10. Sulje Muistio ja PuTTYgen. Käynnistä Pageant valitsemalla WinSCP:n Tools-valikosta "Run Pageant".
  11. Avaa Pageant Windowsin oikean alakulman tehtäväpalkista oikealla hiiren napilla ja valitse "View Keys".
  12. Lisää yksityinen avain (id_rsa_pastesti_organization.ppk) ja anna avainfraasi (passphrase), jotta koneelta voidaan muodostaa yhteys PAS-testiympäristöön.
  13. Sulje WinSCP sekä Pageant Windowsin tehtäväpalkista.
  14. Avaa komentorivi-ikkuna (Command Prompt) Käynnistä-valikosta.
  15. Lisää OpenSSL-sovelluksen bin-hakemisto ja OpenSSL-konfiguraatiotiedosto ympäristömuuttujiin seuraavilla komennoilla. Muuta komennoista "c:\\openssl"-hakemisto siksi hakemistoksi, johon asensit OpenSSL:n:
    set PATH=%PATH%;c:\openssl
    set OPENSSL_CONF=c:\openssl\openssl.cnf
    Tämä asetus on voimassa vain komentorivi-ikkunassa, ja muutos häviää kun komentorivi-ikkuna suljetaan. Ympäristömuuttujiin voi tehdä pysyviä muutoksia Windowsin Ohjauspaneelin kautta.
  16. Luo allekirjoitusavainpari seuraavasti:
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout sip_sign_pas.pem -out sip_sign_pas.pem
    Komennon seurauksena kone kysyy joukon kysymyksiä, joihin tulee vastata oman organisaation tiedoilla.
  17. Erota allekirjoituksen avainparitiedostosta julkinen avain seuraavasti:
    openssl x509 -in sip_sign_pas.pem -out sip_sign_pas_organisation.pub
  18. Tallenna alla oleva skripti "sign.bat"-tiedostoon. Skriptiä tarvitaan siirtopakettien allekirjoittamisessa.
    @echo off
    %~d2
    cd %2
    set RANDFILE=rnd-%RANDOM%.tmp
    set TMPFILE=sha-%RANDOM%.tmp
    IF EXIST %TMPFILE% EXIT /b 1
    IF EXIST %RANDFILE% EXIT /b 1
    for /f "tokens=2 delims==" %%a in ('openssl dgst -sha1 mets.xml') do set METSSUM=%%a
    for /f %%a in ('echo %METSSUM%') do echo ./mets.xml:sha1:%%a > %TMPFILE%
    openssl smime -sign -signer %1 -in %TMPFILE% > signature.sig
    del %TMPFILE%
    del %RANDFILE%
  19. Lähetä luomasi RSA-avainparin julkinen avain (id_rsa_pastesti_organization.pub) sekä julkinen pakettien allekirjoitusavain (sip_sign_pas_organization.pub) PAS-tuelle osoitteeseen: pas-support@csc.fi. Älä luovuta avainfraasia (passphrase) äläkä yksityisiä avaimia kenellekään.

Linux-järjestelmät

  1. Luo RSA-avainpari terminaalissa seuraavasti:
     ssh-keygen -b 2048 -t rsa -f ./id_rsa_pastesti_organization
    Komennon seurauksena kone kysyy avainfraasia (passphrase), jonka tulee olla vähintään 12 merkkiä pitkä ja sisältää numeroita. Komento tekee yksityisen avaimen tiedostoon "./id_rsa_pastesti_organization" ja julkisen avaimen tiedostoon "./id_rsa_pastesti_organization.pub".
  2. Siirrä syntyneet RSA-avaintiedostot "./id_rsa_pastesti_organization" ja "./id_rsa_pastesti_organization.pub" käyttäjän koneen kotihakemistossa olevaan "~/.ssh/"-hakemistoon ja poista tiedostot oletushakemistosta:
    mv ./id_rsa_pastesti_organization* ~/.ssh/
  3. Suojaa tiedostot muuttamalla käyttöoikeudet:
    chown username:usergrp ~/.ssh/id_rsa_pastesti_organization*
    chmod 600 ~/.ssh/id_rsa_pastesti_organization*
  4. Luo allekirjoitusavainpari seuraavasti:
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout sip_sign_pas.pem -out sip_sign_pas.pem
    Komennon seurauksena kone kysyy joukon kysymyksiä, joihin tulee vastata oman organisaation tiedoilla.
  5. Erota allekirjoituksen avainparitiedostoista julkinen avain seuraavasti:
    openssl x509 -in sip_sign_pas.pem -out sip_sign_pas_organization.pub
  6. Tallenna alla oleva skripti "sign.sh"-tiedostoon. Skriptiä tarvitaan siirtopakettien allekirjoittamisessa.
    #!/bin/bash
    cd $2
    TMPFILE=`mktemp` || exit 1
    sum=`openssl dgst -sha1 mets.xml | awk -F '= ' '{print $NF}'`
    echo ./mets.xml:sha1:$sum > $TMPFILE
    openssl smime -sign -signer $1 -in $TMPFILE > signature.sig
    rm $TMPFILE
  7. Anna skriptille ajo-oikeudet terminaalissa komennolla:
    chmod 755 sign.sh
  8. Lähetä luomasi RSA-avainparin julkinen avain (id_rsa_pastesti_organization.pub) sekä julkinen pakettien allekirjoitusavain (sip_sign_pas_organization.pub) PAS-tuelle osoitteeseen: pas-support@csc.fi. Älä luovuta avainfraasia (passphrase) äläkä yksityisiä avaimia kenellekään.
  9. RSA-avaimen avainfraasin voi tarvittaessa vaihtaa komennolla:
    cd ~/.ssh/
    ssh-keygen -f id_rsa_pastesti_organization -p

Mac OS X -järjestelmät

Seuraa Linux-ohjeita, mutta käytä kohdassa 6 seuraavaa skriptiä:

#!/bin/bash
cd $2
TMPFILE=`mktemp /tmp/tmp.XXXXXX` || exit 1
sum=`openssl dgst -sha1 mets.xml | awk -F '= ' '{print $NF}'`
echo ./mets.xml:sha1:$sum > $TMPFILE
openssl smime -sign -signer $1 -in $TMPFILE > signature.sig
rm $TMPFILE

3. Ohjeet siirtopakettien allekirjoittamiseksi

Näitä ohjeita käytetään aina, kun siirtopaketteja allekirjoitetaan. Ensimmäisellä kerralla luo testisiirtopaketti ja allekirjoita se noudattamalla näitä ohjeita.

Allekirjoittamiseen tarvitset OpenSSL-sovelluksen, jota käytettiin edellä avaimien luontiin. Windows-käyttöjärjestelmään OpenSSL tulee hakea ja asentaa erikseen. OpenSSL löytyy OS X -järjestelmästä ja useimmista Linux-jakeluista valmiiksi.

Windows-järjestelmät

  1. Avaa komentorivi-ikkuna (Command Prompt) Käynnistä-valikosta.
  2. Lisää OpenSSL-sovelluksen bin-hakemisto ja OpenSSL-konfiguraatiotiedosto ympäristömuuttujiin seuraavilla komennoilla. Muuta komennoista "c:\\openssl"-hakemisto siksi hakemistoksi, johon asensit OpenSSL:n:
    set PATH=%PATH%;c:\openssl
    set OPENSSL_CONF=c:\openssl\openssl.cnf
    Tämä asetus on voimassa vain komentorivi-ikkunassa, ja muutos häviää, kun komentorivi-ikkuna suljetaan. Ympäristömuuttujiin voi tehdä pysyviä muutoksia Windowsin Ohjauspaneelin kautta.
  3. Käytä aiemmin luomaasi sign.bat-skritpiä komentorivikehotteessa antaen ensimmäisenä parametrina avainparitiedosto hakemistoineen ja toisena parametrina siirtopaketin sisältämä hakemisto (jossa mets.xml sijaitsee).
    Esimerkki:
    sign.bat c:\hakemisto\sip_sign_pas.pem c:\sip-hakemisto
  4. Tämän jälkeen SIP-hakemistossa on signature.sig-tiedosto. Paketoi SIP-hakemisto ZIP-paketiksi.
  5. Allekirjoita myöhemmin tekemäsi siirtopaketit samalla avaimella.

Linux-järjestelmät

  1. Käytä aiemmin luomaasi skriptiä terminaalissa antaen ensimmäisenä parametrina avainparitiedosto hakemistoineen ja toisena parametrina siirtopaketin sisältämä hakemisto (jossa mets.xml sijaitsee).
    Esimerkki:
    ./sign.sh /hakemisto/sip_sign_pas.pem /hakemisto/sip-hakemisto
  2. Tämän jälkeen SIP-hakemistossa on signature.sig-tiedosto. Paketoi SIP-hakemisto ZIP-paketiksi.
  3. Allekirjoita myöhemmin tekemäsi siirtopaketit samalla avaimella.

Mac OS X -järjestelmät

Seuraa Linux-ohjeita.

4. Yhteyden testaaminen

Kun julkiset avaimet on rekisteröity PAS-palvelussa, saat siitä ilmoituksen. Saat viimeistään tässä yhteydessä myös tunnuksen PAS-palveluun. Testaa tunnuksen ja yhteyden toimvuus näiden ohjeiden avulla.

Windows-järjestelmät

  1. Aja komentorivillä seuraavat komennot, mutta vaihda "palvelinosoite" testiympäristön osoitteeksi:
    ver > yhteystesti.txt 2>&1
    ping -n 4 palvelinosoite >> yhteystesti.txt 2>&1
    tracert palvelinosoite >> yhteystesti.txt 2>&1
    Joidenkin komentojen ajo saattaa kestää hieman pidempään. Hakemistoon, jossa komentoja ajetaan, syntyy yhteystesti.txt-tiedosto.
  2. Käynnistä WinSCP and kirjaudu testiympäristöön tyhjällä salasanalla.
  3. Vaihda "transfer"-hakemistoon.
  4. Siirrä siirtopaketti "transfer"-hakemistoon.
  5. Lähetä alussa luomasi yhteystesti.txt-tiedosto PAS-tukeen osoitteeseen: pas-support@csc.fi. Kerro, kuinka kohtien 1-4 suorittaminen onnistui.
  6. Kun siirrät aineistoa myöhemmin, noudata kohtia 2-4.
  7. Voit myös konfiguroida "transfer"-hakemiston oletushakemistoksi WinSCP:ssa.

Linux-järjestelmät

  1. Aja terminaalissa seuraavat komennot, mutta vaihda "palvelinosoite" testiympäristön osoitteeksi:
    uname -a > yhteystesti.txt 2>&1
    ping -c 4 palvelinosoite >> yhteystesti.txt 2>&1
    traceroute palvelinosoite >> yhteystesti.txt 2>&1
    traceroute -p 22 palvelinosoite >> yhteystesti.txt 2>&1
    sftp -vv -oIdentityFile=~/.ssh/id_rsa_pastesti_organization \
    tunnus@palvelinosoite:transfer >> yhteystesti.txt 2>&1
    Toiseksi viimeisen rivin jälkeen kehotteeksi tulee pelkkä nuoli, johon viimeinen rivi kirjoitetaan. Viimeinen komento vaatii luodun avainfraasin (passphrase).

    Hakemistoon, jossa komentoja ajetaan, syntyy yhteystesti.txt-tiedosto. Joidenkin komentojen ajo saattaa kestää hieman pidempään, eivätkä komennot tulosta näytölle mitään, koska tuloste menee koneella yhteystesti.txt-tiedostoon.

    Yhteyden onnistuessa kone jää viimeisen komennon jälkeen odottamaan käyttäjältä syötettä tulostamatta mitään. Kirjoita "quit" poistuaksesi takaisin kehotteeseen.
  2. Kirjaudu testiympäristöön hyödyntäen luomaasi avainparia ja avainfraasia (passphrase) seuraavasti:
    sftp -oIdentityFile=~/.ssh/id_rsa_pastesti_organization tunnus@palvelinosoite:transfer
  3. Siirrä siirtopaketti SFTP-komentorivillä seuraavasti:
    put sip-filename.zip
  4. Lähetä alussa luomasi yhteystesti.txt-tiedosto PAS-tukeen osoitteeseen: pas-support@csc.fi. Kerro, kuinka kohtien 1-3 suorittaminen onnistui.
  5. Kun siirrät aineistoa myöhemmin, noudata kohtia 2-3.
  6. Oletusasetukset voi tarvittaessa tallentaa käyttäjän koneen kotihakemiston "~/.ssh/config"-tiedostoon:
    Host palvelinosoite
    User tunnus
    IdentityFile ~/.ssh/id_rsa_pastesti_organization

Mac OS X -järjestelmät

Seuraa Linux-ohjeita alla olevin poikkeuksin:

Käytä kohdassa 1 viimeisen komennon sijasta seuraavaa komentoa:

sftp -vv -i ~/.ssh/id_rsa_pastesti_organization tunnus@palvelinosoite:transfer >> yhteystesti.txt 2>&1

Käytä kohdassa 2 seuraavaa komentoa:

sftp -i ~/.ssh/id_rsa_pastesti_organization tunnus@palvelinosoite:transfer

5. Siirtopakettien testaaminen

Kun edellä oleva prosessi on käyty läpi, voit kokeilla siirtopakettien muodostusta ja siirtoa allekirjoittamalla muodostamiasi siirtopaketteja luvussa "3. Ohjeet siirtopakettien allekirjoittamiseksi" esitetyllä tavalla sekä siirtämällä aineistoa PAS-testiympäristöön luvun "4. Yhteyden testaaminen" Windows-osion kohdissa 2-4 tai Linux/Mac OS X -osion kohdissa 2-3 esitetyllä tavalla.

6. Siirtyminen testiympäristöstä tuotantoon

Tuotantoon siirtyessä sinun tulee edellä esitetyllä tavalla luoda uudet RSA-avaimet (ja halutessasi uudet allekirjoitusavaimet) sekä rekisteröidä ne. Muutoin voidaan siirtyä suoraan aineiston paketointiin ja siirtämiseen tuotannossa. Avaimien luonnissa ja aineiston siirrossa palvelinosoitteena on yllä olevista ohjeista poiketen tuotantoympäristön osoite, eikä testiympäristön osoite. Kaikki tuotantoympäristöön viedyt oikein muodostetut siirtopaketit menevät todelliseen pitkäaikaissäilytykseen.

7. Lisätietoja

Lisätietoja WinSCP:stä löytyy sen dokumentaatiosta osoitteesta: http://winscp.net
PuTTYgenistä löydät lisää tietoa osoitteesta: http://winscp.net/eng/docs/ui_puttygen
Katso myös autentikointiohjeet Pageantin avulla osoitteesta: http://winscp.net/eng/docs/ui_pageant
OpenSSL-ohjelmistosta löydät lisätietoa osoitteesta: http://www.openssl.org/
Linux- ja Mac OS X -järjestelmissä katso lisätietoja: man sftp(1), ssh(1), ssh_config(5) sekä OpenSSH-ohjelmiston dokumentaatiosta osoitteesta: http://www.openssh.com/