Tutos en vrac

De tout et de rien...

Outils pour utilisateurs

Outils du site


mon_projet_de_serveur_personnel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
mon_projet_de_serveur_personnel [2022/03/02 03:58] – [Setup complet Raspberry 3] ncmon_projet_de_serveur_personnel [2023/02/21 18:41] (Version actuelle) – modification externe 127.0.0.1
Ligne 235: Ligne 235:
 FIXME https://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/ FIXME https://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/
 FIXME https://github.com/shellinabox/shellinabox FIXME https://github.com/shellinabox/shellinabox
 +
 + 
 +
 +Nouveaux ajout :
 +
 +charpenel.hd.free.fr sur votre IP fixe 78.229.96.117
 +
 +ssh -p 222 -l pi 78.229.96.117
 +
 +
 +SHELL IN A BOX :
 +
 +sudo apt install shellinabox
 +
 +sudo apt install locate
 +
 +voi les services qui tournent :
 +service --status-all
 +
 +détail d'un service : 
 +service shellinabox statut
 +
 +Voir QUI ecoute sur quel port (sécurité!) :
 +netstat -plunt
 +Les ip ouvertes en 0.0.0.0:XXXX sont accessibles depuis toutes les IP de notre propre machine 
 +Les ip en 127.0.0.1:XXXX sont accessibles que depuis l'ip de la machine dans le sous-reseau actuel
 +
 +Les ip ouvertes en :::XXXX  sont accessibles depuis l'extérieur (danger, mais parfois nécessaire)
 +
 +Mettre une appli (shell in a box) derrière un reverse proxy :
 +
 +éditez etc/apache2/sites-available/000-default.conf 
 +
 +Pour chaque service, ajouter un "ProxyPass" et un "ProxyPassReverse".
 +
 +
 +Ajouter les modules Apache de proxy :
 +
 +sudo a2enmod proxy
 +sudo a2enmod proxy-http
 +sudo a2enmod proxy_balancer
 +sudo a2enmod lbmethod_byrequests
 +
 +sudo systemctl restart apache2.service
 +
 +vérif que le fichier de config d'apache est activé:
 +sudo a2ensite 000-default.conf
 +
 +
 +Il y a 2 Fichiers de config pour shell in  box :
 +
 +* Dans /etc/sheelinabox/options-available/   (peu utile, css du shell)
 +* Dans /etc/default/shellinabox/ : ajout du --disable-ssl dans les arguments, puis relance du service.
 +
 +Activer les themes css dans shell in a box : compliqué... :x
 +
 +
 +Installation du firewall
 +sudo apt install ufw
 +sudo ufw allow 22 comment 'ssh et sftp'   #autoriser le port 22
 +sudo ufw status numbered # voir l'état des régles (et leur numéro, pour les numéroter)
 +
 +sudo ufw allow from 192.168.0.1/24 port 4200 comment 'shellinabox'  # pour autoriser tous les accès depuis le réseau local
 +
 +
 +
 +
 +sudo ufw allow 80 comment 'http'   #http
 +
 +
 +Début d'année :
 +
 +Ajout d'un groupe nsi global
 +sudo addgroup nsi
 +adduser pi nsi  #s'ajouter soi même
 +
 +groups #affiche tous les groupes existants (attention, se relogger pour rendre les ajouts dans les groupes effectifs !)
 +
 +sudo apt install members
 +members nsi    #voir les membres d'un groupe
 +
 +sudo adduser jstern --ingroup nsi  #ajout d'un eleve en precisant le groupe principal (nsi)
 +--> puis son mot de passe
 +
 +test : creer un fichier en tant que cet eleve, vérif les perm
 +
 +
 +Jupyther Hub :
 +basé sur https://towardsdatascience.com/setup-your-home-jupyterhub-on-a-raspberry-pi-7ad32e20eed
 +
 +Mise à jour de python 3, et pip
 +  sudo pip3 install --upgrade pip
 +
 +Installation npm :
 +  sudo apt-get install npm 
 +  sudo npm install -g configurable-http-proxy
 +
 +Installation en elle-même :
 +  sudo -H pip3 install notebook jupyterhub
 +
 +Génération du fichier de config:
 +  jupyterhub --generate-config 
 +  sudo mv jupyterhub_config.py /root
 +
 +Editer en sudo le fichier pour décommenter cette ligne et enregistrer :
 +c.JupyterHub.bind_url = 'http://:8000'
 +
 +Editer le fichier de /etc/apache2/sites-vaailable/000-default.conf, et ajouter les 2 lignes de "ProxyPass" et "ProxyPassReverse"
 +
 +Editer root/jupyterhub_config.py pour décommenter la "base url" et la mettre à '/jupyter/'
  
      
 +  sudo ufw allow from 192.168.0.1/24 port 8000 comment 'jupyter'  # pour autoriser tous les accès depuis le réseau local
 +
 +Enregistrer jupyter comme un service, pour éviter d'(avoir à le relancer à chaque redémarrage du rpi :
 +
 +Créer le fichier /lib/systemd/system/jupyterhub.service et le remplir :
 +
 +  [Unit] 
 +  Description=JupyterHub Service
 +  After=multi-user.target
 +  
 +  [Service] 
 +  User=root 
 +  ExecStart=/usr/local/bin/jupyterhub --config=/root/jupyterhub_config.py 
 +  Restart=on-failure
 +  
 +  [Install] 
 +  WantedBy=multi-user.target
 +
 +
 +
 +
 +A suivre : 
 +* faire les groupes de travail et le -u 0002 dans /etc/ssh/sshd_config
 +* Docker
 +
 +
 +"Emprisonner les users"
 +
 +Installation de la librairie:
 +  sudo apt-get install libpam-chroot
 +  Editez /etc/pam.d/sshd en sudo, ajouter à la fin :
 +    #ajout
 +    session required pam_chroot.so                                                                          
 +  Editez sudo nano /etc/security/chroot.conf
 +  Editez sudo nano /etc/ssh/sshd_config
 +  
 +  copier le module :
 +  sudo cp /usr/lib/arm-linux-gnueabihf/pam_chroot.so /usr/lib/security/pam_chroot.so
 +  (créer le dossier lib/security si besoin)
 + 
 +
 +  
 +
mon_projet_de_serveur_personnel.1646189894.txt.gz · Dernière modification : 2022/03/02 03:58 de nc