C'est le job de l'excellent Ansible, mais il faut l'utiliser très souvent pour être à l'aise et assuré. So, ici c'est une procédure manuelle (pour le vieux débile que je suis ).
ssh
à root
.# nano /etc/ssh/sshd_config # Port 22 Port wxyz # nano /etc/ssh/sshd_config #PermitRootLogin yes PermitRootLogin no #PasswordAuthentication yes PasswordAuthentication no #X11Forwarding yes X11Forwarding no
Si un autre user sudoer existe, sinon attendre l'opération operating_user. Redémarrer le service sshd et tester la connexion sur le nouveau port depuis un second terminal.
systemctl restart sshd.service
Des fournisseurs proposent des images vraiment minimalistes qu'il faut initialiser avant de pouvoir installer des softs.
apt update apt upgrade
apt install fail2ban
Ajouter le port ssh modifié précédement.
# nano /etc/fail2ban/jail.d/custom.conf [sshd] port=22,wxyz maxretry = 2
Créer un user s'il n'existe pas. Certaines images proposent un user debian
par défaut, d'autre pas.
On va créer un user avec un tout autre nom, qui sera sudoer
et qu'il faudra connaître pour se connecter en ssh (on va supprimer accès root ssh).
# useradd [options] LOGIN # -m, --create-home create the user's home directory # -U, --user-group create a group with the same name as the user useradd -m -U -s /bin/bash tintin # adduser USER GROUP # Add an existing user to an existing group adduser tintin sudo Adding user 'tintin' to group 'sudo' ... Done.
Vérifier que le group sudo peut agir sans mot de passe :
# nano /etc/sudoers # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) NOPASSWD:ALL
su tintin -c "mkdir /home/tintin/.ssh" su tintin -c "chmod o-x,o-r /home/tintin/.ssh" cp .ssh/authorized_keys /home/tintin/.ssh/ chown tintin:tintin /home/polux/.ssh/authorized_keys
Si ce n'avait pas été fait précédemment redémarrer le service sshd
.
systemctl restart sshd.service
Tester le login avec ce user …
L'intérêt d'utiliser un MTA local est sa queue
, pour le re-essaye d'envoi en cas de problème sur les Internets.
sudo apt install exim4-daemon-light mailutils
Configurer le SPF du domaine.
Email à destination du nouveau user tintin
: ils seront expédiés à tintin@<Mailname>, ou bien modifié /etc/aliases
.
Pas besoin de toucher à /etc/email-addresses
sudo dpkg-reconfigure exim4-config
# cat /etc/exim4/update-exim4.conf.conf # <Mailname> # <smart_fqdn:smart_port> dc_eximconfig_configtype='satellite' dc_other_hostnames='' dc_local_interfaces='127.0.0.1 ; ::1' dc_readhost='<Mailname>' dc_relay_domains='' dc_minimaldns='false' dc_relay_nets='' dc_smarthost='<smart_fqdn:smart_port>' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='true' dc_mailname_in_oh='true' dc_localdelivery='mail_spool'
Et pour l'identification auprès du smarthost:
# sudo cat /etc/exim4/passwd.client # Example: ### target.mail.server.example:login:password <smart_fqdn>:<login>:<clear_password>
mailname doit correspondre reverse de l'ip.
# install git sudo apt install git # generate ssh key, the public one will be used in gitlab repository deploy key ssh-keygen
Ajouter la clé publique au dépôt pour permettre le clone.
sudo apt install docker.io docker-compose