# RPi 4 et boitier Argon One M.2 (avec SSD M.2) https://www.argon40.com/argon-one-m-2-case-for-raspberry-pi-4.html Le boitier accepte les SSD M.2 (Key-B ou Key-B&M) ### Installer Raspberry Pi OS sur la MicroSD: Télécharger [Raspberry Pi OS](https://www.raspberrypi.org/software/operating-systems/) ```bash wget https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-01-12/2021-01-11-raspios-buster-armhf-full.zip ``` Copier Raspberry Pi OS sur la MicroSD avec [Etcher](https://www.balena.io/etcher/) Booter sur la MicroSD. Mettre à jour l'OS et le firmware: ```bash sudo apt update sudo apt full-upgrade sudo rpi-update ``` Redémarrer le Raspberry. Installer le dernier bootloader; ```bash sudo rpi-eeprom-update -d -a ``` Redémarrer le Raspberry. ### Configurer le boot du Raspberry Pi: Ouvrir **raspi-config**: ```bash sudo raspi-config ``` 1. Choisir **Advanded Options** puis Enter 2. Choisir **Bootloader Version** puis Enter 3. Choisir **Latest** (Use the latest version boot ROM software) puis Enter 4. Choisir **Non** pour utiliser Latest boot ROM 5. Choisir **Advanded Options** puis Enter 6. Choisir **Boot Order** puis Enter 7. Choisir **USB Boot** (si une carte SD est présente, le Raspberry démarrera sur la carte SD) puis Enter ### Copier la carte SD sur le disque SSD: 1. Lancer **SD Card Copier** depuis le menu Démarrer, section Accessoires. 2. Choisir la carte SD pour **Copy From Device**. 3. Choisir le SSD pour **Copy to Device**. 4. Cliquer sur **Start**. 5. La copie dure une dizaine de minutes... 6. **Eteindre** le Raspberry. 7. **Retirer la carte SD**. 8. **Redémarrer** le Raspberry qui boote sur le SSD. ### Outils Argon: Installer Bouton Power et contrôle ventilo: ```bash curl https://download.argon40.com/argon1.sh | bash ``` Fonctions Bouton Power: | Argon One Pi 4 State | Action | Function | | -------------------- | ------------------ | ------------------- | | OFF | Appui court | Démarrer | | ON | Appui long (>= 3s) | Arrêter et éteindre | | ON | Appui court (< 3s) | rien | | ON | Double tap | Reboot | | ON | Appui long (>= 5s) | Forcer l'arrêt | Vitesse ventilo: | CPU Temp | Puissance ventilo | | -------- | ----------------- | | 55° C | 10% | | 60° C | 55% | | 65° C | 100% | Pour configurer: ```bash argonone-config ``` Désinstaller: ```bash argonone-uninstall ``` #### [Mise à l'heure:](heure.md) #### Installer le correcteur orthographique français: ```bash sudo apt-get install myspell-fr ``` ### Installer des logiciels: Gestionnaire de mot-de-passe: KeepassXC (keepassxc-2.3.4) ### Clé SSH: #### Clé une clé SSH: ```bash $ ssh-keygen -t rsa -b 4096 -C "Clé sur Raspberry4" Generating public/private rsa key pair. Enter file in which to save the key (/home/pi/.ssh/id_rsa): Created directory '/home/pi/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Passphrases do not match. Try again. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/pi/.ssh/id_rsa. Your public key has been saved in /home/pi/.ssh/id_rsa.pub. The key fingerprint is: SHA256:6TzjtL9Q31LwOwRAXMLyR2OEO+fYNlc5ccyux4zvhGo Clé sur Raspberry4 The key's randomart image is: +---[RSA 4096]----+ | +++o o | | . +o+ .+| | o +o. .+| | .+ o+ oo| | S .B +*.| | o ...=++o+| | B .oo=o.| | o = Eo o.| | o.oo. ..| ``` #### Répertoire `~/.ssh` ```bash pi@framboise:~/.ssh $ ls -la total 28 drwx------ 2 pi pi 4096 févr. 4 14:35 . drwxr-xr-x 33 pi pi 4096 févr. 9 13:46 .. -rw------- 1 pi pi 846 juin 1 2019 authorized_keys -rw-r--r-- 1 pi pi 369 févr. 4 14:41 config -rw------- 1 pi pi 1675 févr. 4 2019 id_rsa -rw-r--r-- 1 pi pi 394 févr. 4 2019 id_rsa.pub -rw-r--r-- 1 pi pi 1776 févr. 4 14:49 known_hosts ``` #### Copier la clé publique ssh sur le serveur distant: ```bash $ ssh-copy-id -i ~/.ssh/id_rsa.pub bruno@maboiteverte.fr /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/pi/.ssh/id_rsa.pub" The authenticity of host 'maboiteverte.fr (212.227.191.167)' can't be established. ECDSA key fingerprint is SHA256:iw66SSVTlEmiXO4kayKS1lHPbrTb5IT3CJtu9c4U7V4. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys Password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'bruno@maboiteverte.fr'" and check to make sure that only the key(s) you wanted were added. ``` #### 1ere connection sans mot-de-passe: ```bash $ ssh 'bruno@maboiteverte.fr' Enter passphrase for key '/home/pi/.ssh/id_rsa': Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-96-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage * Canonical Livepatch is available for installation. - Reduce system reboots and improve kernel security. Activate at: https://ubuntu.com/livepatch New release '20.04.2 LTS' available. Run 'do-release-upgrade' to upgrade to it. Last login: Sat Feb 20 16:57:19 2021 from 86.209.226.200 bruno@localhost:~$ ``` #### Créer le ssh-agent: ```bash $ eval $(ssh-agent -s) Agent pid 3551 ``` #### Ajouter la clé ssh au ssh-agent: ```bash $ ssh-add Enter passphrase for /home/pi/.ssh/id_rsa: Identity added: /home/pi/.ssh/id_rsa (Clé sur Raspberry4) ``` #### Pour retirer la clé privée ```bash $ kill PROCESSID ``` ### Configurer le serveur ssh: ```bash $ sudo nano /etc/ssh/sshd_config # Ajouter: Protocol 2 Port 36722 PasswordAuthentication no PermitEmptyPasswords no X11Forwarding no ClientAliveInterval 1500 MaxAuthTries 3 PermitRootLogin no ``` #### Utiliser le protocole ssh version 2: ```bash Protocol 2 ❯ ssh -1 -p '36722' 'pi@raspberrypi4.local' SSH protocol v.1 is no longer supported ``` #### Durée de vie de la connexion: ```bash ClientAliveInterval 1500 # seconds ``` #### Connexion par clés uniquement: ```bash PasswordAuthentication no ``` #### Limiter le nombre d'essais (mauvais mot-de-passe) ```bash MaxAuthTries 3 ``` #### Désactiver la connection en root: ```bash PermitRootLogin prohibit-password # connection root avec clé ssh uniquement PermitRootLogin no # connection root interdite ``` #### N'autoriser qu'une seule IP à se connecter: ```bash ListenAddress 192.168.1.2 ``` #### N'autoriser que certains utilisateurs: ```bash AllowUsers user1 user2 ``` #### Redémarrer le service ssh: ```bash sudo service ssh restart ``` #### Si pas besoin de SSH, il faut le désactiver: ```bash sudo systemctl stop sshd sudo systemctl disable sshd ``` ### Node: ```bash # Par défaut (Raspi OS) $ node -v v10.24.0 ``` #### Installer nvm: ```bash $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash # est ajouté au .bashrc: export NVM_DIR="$HOME/.config/nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion ``` #### Installer node: ```bash $ nvm install --lts=fermium Installing with latest version of LTS line: fermium Downloading and installing node v14.16.0... ``` ```bash title="Version" $ node -v v14.16.0 ``` ### Samba: #### Installer Samba: ```bash $ sudo apt install samba samba-common-bin smbclient cifs-utils ``` #### Configurer: ```bash $ sudo nano /etc/samba/smb.conf # Ajouter dans[global] au début: [global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP server string = Samba Server %v netbios name = raspberrypi4 security = user map to guest = bas user dns proxy = no # Ajouter le partage à la fin: [shared] comment = Dossier partage dans le dossier User path = /home/pi/shared writeable = Yes create mask = 0777 directory mask = 0777 public = no ``` #### Créer un mot-de-passe Samba pour l'utilisateur pi: ```bash $ sudo smbpasswd -a pi New SMB password: Retype new SMB password: Added user pi. ``` #### Redémarrer le service Samba: ```bash $ sudo systemctl restart smbd ``` #### Vérifier l'état du service Samba: ```bash $ sudo systemctl status smbd.service ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-03-03 18:33:53 CET; 6min ago ``` ### Copier des fichiers: #### scp: ```bash # Copier des fichiers vers le Rpi4: $ scp -P36722 requirements.txt pi@raspberrypi4.local:Desktop/ requirements.txt 100% 1215 417.8KB/s 00:00 # Copier des fichiers depuis le Rpi4: $ scp -P36722 pi@raspberrypi4.local:Desktop/ex/hostname hostname hostname 100% 13 4.0KB/s 00:00 ``` #### sftp: ```bash ``` ```bash sudo tasksel ```