-
SSH-asiakas macOS:lla ja Linuxilla
SSH-asiakasohjelma macOS:ssä ja Linuxissa
SSH certificates are required to connect to Roihu over SSH
To connect to Roihu, users must sign their public key in MyCSC to obtain a time-based SSH certificate. Each certificate is valid for 24 hours, and once it expires, a new one must be generated by signing the public key again.
Unix-pohjaisissa järjestelmissä, kuten macOS:ssä ja Linuxissa, on suositeltavaa muodostaa yhteys CSC:n supertietokoneisiin valmiiksi asennetulla pääteohjelmalla. OpenSSH-asiakasohjelma tulee yleensä valmiiksi asennettuna macOS- ja Linux-järjestelmissä.
SSH-avainten luominen
Using SSH keys
See the page on setting up SSH keys for general information about using SSH keys and certificates for authentication. Please note that it is mandatory to add your public key to MyCSC – copying it directly to a CSC supercomputer does not work!
Supported key types are Ed25519 and RSA 4096 through 16384. We strongly recommend Ed25519.
Yhteyden muodostaminen CSC:n supertietokoneisiin SSH-asiakasohjelmalla edellyttää SSH-avainten käyttöönottoa. macOS:ssä ja Linuxissa voit luoda SSH-avaimet ssh-keygen-komentorivityökalulla:
Jos et ole aiemmin ottanut SSH-avaimia käyttöön, voit hyväksyä oletusnimen ja -sijainnin painamalla ENTER (suositeltavaa). Jos oletustiedostonimen käyttäminen kuitenkin korvaisi olemassa olevan avaimen, saat seuraavanlaisen varoituksen:
Yleensä olemassa olevia avaimia ei kannata korvata, joten kirjoita n, suorita ssh-keygen uudelleen ja anna pyydettäessä toinen tiedostonimi. Katso myös osio SSH-avain- tai varmennetiedosto, jolla on muu kuin oletusnimi tai -sijainti.
Seuraavaksi sinulta pyydetään tunnuslausetta. Valitse turvallinen tunnuslause. Sen tulisi olla vähintään 8 merkkiä pitkä ja sisältää numeroita, kirjaimia ja erikoismerkkejä. Älä koskaan jätä tunnuslausetta tyhjäksi SSH-avainparia luodessasi!
Kun olet luonut SSH-avainparin, sinun täytyy lisätä julkinen avain MyCSC-portaaliin. Lue ohjeet täältä. Yhdistääksesi Roihuun sinun täytyy lisäksi allekirjoittaa julkinen avaimesi, jotta saat aikaperusteisen SSH-varmenteen, jota tarvitaan tunnistautumiseen.
Voit myös haluta määrittää todennusagentin, jotta SSH-avainten käyttö olisi sujuvampaa.
Peruskäyttö
Kun olet ottanut SSH-avaimet käyttöön, lisännyt julkisen avaimesi MyCSC:hen ja ladannut SSH-varmenteen (vaaditaan vain Roihulle), voit muodostaa etä-SSH-yhteyden avaamalla päätteen ja suorittamalla:
# Replace <username> with the name of your CSC user account and
# <host> with "puhti", "mahti", "roihu-cpu" or "roihu-gpu"
ssh <username>@<host>.csc.fi
Tämä olettaa, että SSH-avaimet (ja Roihun varmenne) on tallennettu vakiopaikkaan vakiotiedostonimillä:
- Yksityinen avain:
~/.ssh/id_<algorithm> - Julkinen avain:
~/.ssh/id_<algorithm>.pub - Varmenne:
~/.ssh/id_<algorithm>-cert.pub
missä <algorithm> on joko ed25519 tai rsa.
SSH-avain- tai varmennetiedosto, jolla on muu kuin oletusnimi tai -sijainti
Jos olet tallentanut SSH-avaimesi ja/tai varmennetiedostosi muulla kuin oletusnimellä tai muuhun kuin oletussijaintiin, sinun täytyy kertoa ssh-komennolle, mistä nämä tiedostot löytyvät. Käytä -i-valitsinta seuraavasti:
# Replace <username> with the name of your CSC user account,
# <host> with "puhti", "mahti", "roihu-cpu" or "roihu-gpu",
# <path-to-private-key> with the path to your SSH private key and
# <path-to-certificate> with the path to your SSH certificate file (Roihu only)
ssh <username>@<host>.csc.fi -i <path-to-private-key> -i <path-to-certificate>
Vaihtoehtoisesti voit määrittää avaimen sijainnin ~/.ssh/config-tiedostossa:
Host <host>
HostName <host>.csc.fi
User <csc-username>
IdentityFile <path-to-private-key>
CertificateFile <path-to-certificate>
Yllä oleva ~/.ssh/config-tiedosto mahdollistaa kirjautumisen kohteeseen <host> yksinkertaisesti komennolla:
Graafinen yhteys
Note
For performance reasons, we generally recommend using the HPC web interfaces to run applications which require displaying graphics.
Grafiikan, kuten graafisten käyttöliittymien ja kuvaajien, näyttäminen SSH-yhteyden yli edellyttää ikkunointijärjestelmää. Linux-järjestelmissä X-ikkunointijärjestelmän (X11) palvelinohjelma on oletuksena asennettuna. macOS:ssä sinun täytyy asentaa sellainen erikseen, esimerkiksi XQuartz.
Ota grafiikan näyttäminen SSH:n yli käyttöön käyttämällä -X- (X11-välitys) tai -Y-valitsinta (luotettu X11-välitys), kun käynnistät SSH-asiakasohjelman:
Lisätietoja X11-välityksen valitsimista saat suorittamalla päätteessä komennon man ssh.
Todennusagentti
Jotta sinun ei tarvitsisi kirjoittaa tunnuslausettasi joka kerta, kun yhdistät CSC:n supertietokoneeseen, ssh-agent-apuohjelma voi pitää SSH-avaimesi ja varmenteesi muistissa. Ohjelman toiminta riippuu järjestelmästäsi:
- Linux-järjestelmissä
ssh-agenton yleensä määritetty ja käynnistetty automaattisesti kirjautumisen yhteydessä eikä vaadi sinulta lisätoimia. -
macOS-järjestelmissä sinun tulee lisätä seuraavat rivit
~/.ssh/config-tiedostoon (luo tiedosto, jos sitä ei ole olemassa): -
Olettaen, että SSH-yksityinen avaimesi ja varmenteesi (vaaditaan vain Roihulle) on tallennettu tiedostoihin
~/.ssh/id_ed25519ja~/.ssh/id_ed25519-cert.pub, lisää ne todennusagenttiin suorittamalla:$ ssh-add ~/.ssh/id_ed25519 Enter passphrase for ~/.ssh/id_ed25519: # enter key passphrase here Identity added: ~/.ssh/id_ed25519 Certificate added: ~/.ssh/id_ed25519-cert.pubTämä vaihe tehdään automaattisesti, jos käytät CSC:n varmenteen aputyökalua SSH-varmenteesi allekirjoittamiseen ja lataamiseen!
Tärkeä huomio, jos et käytä varmenteen aputyökalua
Käyttäjien, jotka lataavat SSH-varmenteet manuaalisesti MyCSC:stä, täytyy tallentaa varmenne samaan hakemistoon kuin SSH-yksityinen avain ja nimetä se muodossa <private-key-name>-cert.pub, jotta se voidaan lisätä SSH-agenttiin ssh-add-komennolla. Jos tämä onnistuu, ssh-add tulostaa:
Jos varmenne on tallennettu ja/tai nimetty millä tahansa muulla tavalla, sitä ei voida lisätä todennusagenttiin, koska OpenSSH käyttää kovakoodattuja nimeämiskäytäntöjä.
- Jos aiot yhdistää Roihuun väli-isännän kautta (esimerkiksi siirtäessäsi dataa toiselta CSC-palvelimelta Roihuun), myös SSH-varmenne täytyy lisätä SSH-agenttiin, jotta se voidaan välittää oikein.
- Vaihtoehtoisesti voit yhdistää Roihuun ja noutaa dataa palvelimilta, jotka eivät vaadi SSH-varmennetta (esimerkiksi Puhti tai Mahti). Tässä tapauksessa riittää, että välität vain SSH-avaimesi.
- Lue lisää SSH-agentin välityksestä alta.
SSH-agentin välitys
Note
You should only forward your SSH agent to remote servers that you trust and only when you really need it. Forwarding your SSH agent by default to any server you connect to is considered insecure.
Agentin välitys on hyödyllinen mekanismi, jossa SSH-asiakasohjelma määritetään sallimaan SSH-palvelimen käyttää paikallista ssh-agent-agenttiasi palvelimella ikään kuin se olisi siellä paikallinen. Käytännössä tämä tarkoittaa, että voit esimerkiksi muodostaa yhteyden suoraan CSC:n supertietokoneiden välillä käyttäen paikallisella koneellasi olevia SSH-avaimia ja varmenteita, eli sinun ei tarvitse luoda uutta SSH-avainjoukkoa CSC:n supertietokoneilla.
Agentin välitys on myös erittäin kätevä, jos sinun täytyy kopioida dataa suoraan CSC:n supertietokoneiden välillä tai esimerkiksi tehdä push yksityiseen Git-repositorioon CSC:n supertietokoneilta.
Ota agentin välitys käyttöön lisäämällä -A-lippu ssh-komentoosi:
Kun yhteys on muodostettu, voit varmistaa, että SSH-agentin välitys toimii, suorittamalla:
Jos näet SSH-avaintesi ja varmenteidesi sormenjäljet lueteltuina, agentin välitys toimii. Todennusagentissa olevilla toisiinsa liittyvillä SSH-avaimilla ja varmenteilla on samat sormenjäljet, ja ne on merkitty tunnisteilla <ALGORITHM> ja <ALGORITHM>-CERT. Esimerkiksi:
256 SHA256:ZXG7TvhDAWOv8VveFAlt/UYarsO9Nx5md4owX+FE5/M optional_comment (ED25519)
256 SHA256:ZXG7TvhDAWOv8VveFAlt/UYarsO9Nx5md4owX+FE5/M optional_comment (ED25519-CERT)
SSH-asiakasohjelman määrittäminen
Voit säästää aikaa lisäämällä CSC:n supertietokoneille isäntäkohtaisia asetuksia SSH-asetustiedostoon (esim. ~/.ssh/config).
Host <host> # e.g. "roihu-cpu"
HostName <host>.csc.fi
User <csc-username>
IdentityFile <path-to-private-key>
CertificateFile <path-to-certificate> # Required for Roihu only
Nyt voit yhdistää isäntään yksinkertaisesti suorittamalla: