108 lines
2 KiB
Text
108 lines
2 KiB
Text
|
Linux
|
||
|
|
||
|
Joachim Desroches
|
||
|
|
||
|
BIG FAT WARNING
|
||
|
Craft v.s. Science
|
||
|
|
||
|
1. Linux: About and Philosophy
|
||
|
2. Shell
|
||
|
3. Asymmetric Cryptography
|
||
|
4. SSH and PGP
|
||
|
5. Git
|
||
|
6. Practical tools
|
||
|
|
||
|
1. Linux
|
||
|
|
||
|
kernel
|
||
|
|
||
|
# Linux is actually only the kernel, and needs a bunch of userland utilities
|
||
|
# to be of any use. Usually though, when we say linux, we mean the whole OS.
|
||
|
|
||
|
operating system
|
||
|
|
||
|
# Additionally to interacting with the hardware, it comes with the usual
|
||
|
# facilities we expect of an OS: compiler, user management, logging...
|
||
|
|
||
|
(em)power users
|
||
|
|
||
|
# General purpose, but of philosophy aimed at power users. Know what you are
|
||
|
# doing, think before you type, read the docs.
|
||
|
|
||
|
files
|
||
|
|
||
|
# Most powerful concept is that everything is a file. Indexed in the FSH, and
|
||
|
# can be accessed and manipulated that way. Example: disk, serial port.
|
||
|
# config!!
|
||
|
|
||
|
distributions
|
||
|
|
||
|
# Names like ubuntu, Alpine, Debian are distros. Usually represent a package
|
||
|
# manager and a usage philosophy.
|
||
|
|
||
|
2. Shell
|
||
|
|
||
|
# -> GNUGEN's presentation
|
||
|
|
||
|
3. Asymmetric Cryptography
|
||
|
|
||
|
secret + key > encrypted
|
||
|
encrypted - key > secret
|
||
|
|
||
|
share key
|
||
|
|
||
|
public key
|
||
|
private key
|
||
|
|
||
|
secret + public key > encrypted
|
||
|
encrypted - public key > garbage
|
||
|
|
||
|
encrypted - private key > secret
|
||
|
|
||
|
RSA, ECDSA
|
||
|
|
||
|
signing
|
||
|
|
||
|
secret + private key > signature
|
||
|
signature - public key > valid!
|
||
|
|
||
|
5. SSH and PGP
|
||
|
|
||
|
# Main crypto usage in our tooling
|
||
|
|
||
|
PGP: Pretty Good Privacy
|
||
|
GPG: GNU Privacy Guard
|
||
|
|
||
|
# We'll go into GPG if we have time and interest, for now let us stay on SSH.
|
||
|
|
||
|
SSH: Secure SHell
|
||
|
|
||
|
remote access
|
||
|
|
||
|
authentication keys
|
||
|
|
||
|
private & public SSH keys
|
||
|
|
||
|
# Give the server your public, and show you can decrypt the challenge
|
||
|
|
||
|
some policy
|
||
|
|
||
|
# Secrets are important! Don't let them be stolen
|
||
|
|
||
|
password-protected accounts
|
||
|
encrypted hard drives
|
||
|
|
||
|
# I'd say that's good enough for us for now. More would take too much
|
||
|
# resources to enforce. Ideally, password-protect with something in your head
|
||
|
# or your password manager.
|
||
|
|
||
|
5. Git
|
||
|
|
||
|
# -> GNUGEN's presentation
|
||
|
|
||
|
6. Practical tools
|
||
|
|
||
|
PuTTY, WSL - SSH for windows
|
||
|
|
||
|
gitforwindows.org
|