Commit 344f013e authored by Ole Lorbacher's avatar Ole Lorbacher 💬
Browse files

Merge branch 'ssh-key-exercise' into 'master'

Add SSH Key exercise

See merge request !23
parents b887b76d 47ac2210
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -356,6 +356,27 @@ export const pooltest = test((function(){
        this.verify('cat /tmp/.file-to-print').hasOutput("/home/students/robobert/dokument.pdf")
    })

    this.exercise("SSH-Key erstellen", async function () {
        this.describe(`Um Zugang zu unseren Serven zu bekommen, benötigst du einen SSH Key.
            Erstelle einen neuen Key und kopiere den Inhalt des public keys in eine neue Datei "gt_mail.txt".
            Sobald du den Pooltest bestanden hast musst du auch auf deinem eigenen Gerät ein SSH Key erstellen und uns den public key zusammen mit dem Token aus dem Pooltest zuschicken.`)

        const pubKey = "ssh-ed25519 AAAABBBBCCCCDDDDP00lT35t55HK3yPlac3h0ld3rF0rYal1k3zazz pooltest key"
        const privKey = "IN DIESER DATEI WIRD DEIN PRIVATE KEY GESPEICHERT, TEILE DIESEN NIEMALS MIT ANDEREN! ---- THIS IS WHERE YOUR PRIVATE KEY IS STORED! NEVER SHARE IT WITH ANYONE"

        await this.prepareWith(` if [[ ! -f /bin/ssh-keygen ]]; then echo 'mkdir /root/.ssh && echo "${pubKey}" > /root/.ssh/id_ed25519.pub && echo "${privKey}" > /root/.ssh/id_ed25519 &&
                echo "Generating public/private ed25519 key pair." &&
                echo "Key will be saved in /root/.ssh/id_ed25519" &&
                read -p "Enter passphrase for "/root/.ssh/id_ed25519" (empty for no passphrase):" userpass1 &&
                read -p "Enter same passphrase again:" userpass2 && echo "Your identification has been saved in /root/.ssh/id_ed25519" &&
                echo "Your public key has been saved in /root/.ssh/id_ed25519.pub" &&
                exit 1' > /bin/ssh-keygen;chmod +x /bin/ssh-keygen; fi `)

        await this.manualConfirmation()

        this.verify('cat /root/gt_mail.txt').hasOutput(pubKey)
    })

    // To add another exercise, simply copy and paste an exercise(...) block from above and adjust it.
    // Order is respected, so you can e.g. order the exercises by increasing difficulty.
})
+6 −0
Original line number Diff line number Diff line
@@ -50,6 +50,12 @@
                <p>
                    Das Token wurde in die Zwischenablage kopiert, du kannst es in der Mail also direkt einfügen.
                </p>
                <p>
                    Zusätzlich musst du noch einen SSH Key erstellen und den Public Key auch in der Mail an die Gruppe Technik mitschicken. Ohne diesen kann kein Account für dich erstellt werden.
                </p>
                <p>
                    Bewahre den erstellten Key gut auf. Teile den private Keys <b>niemals</b> mit anderen! Der public Key kann ohne Gefahr geteilt werden.
                </p>
            </div>
            <div class="actions">
                <button class="primary big" data-action="complete">Fertig.</button>