ssh
10/05/2018forwarding
# local port forwarding
$ ssh -L 127.0.0.1:8888:intranet.fr.fr:443 user@server.fr
# from local, access to intranet.fr.fr:443 by using 127.0.0.1:8888
# think to add hosts in /etc/hosts na avoid cert errors
# remote port forwarding
$ ssh -R 127.0.0.1:8888:127.0.0.1:4000 adel@adel-allam.fr
# from remote, access to 127.0.0.1:4000 on local machine via 127.0.0.1:8888
basic
# création de la paire de clé
$ ssh-keygen -t rsa -b 4096 -C "Jean Alfonse public key"
# /home/alfonse/.ssh/id_rsa --> privée
# /home/alfonse/.ssh/id_rsa.pub --> publique
# on partage notre public key sur un serveur
$ ssh-copy-id -p 22 -i /home/alfonse/.ssh/id_rsa.pub alfonse@10.10.10.10
# configuration du serveur ssh
$ vim /etc/ssh/sshd_confi
# ...
PermitRootLogin no
PasswordAuthentification no
Banner /chemin/vers/motd # optionnel
# ...
# redémarrer le service
$ systemctl restart sshd
ssh-agent
C’est un agent qui stocke la private key + passphrase pendant la durée de la session. Cela permet de ne pas re-saisir la passphrase à chaque connexion.
# on lance l'agent
$ ssh-agent
# ...
SSH_AUTH_SOCK=/path/example/blabla; export SSH_AUTH_SOCK;
# ...
# copie et éxecution de SSH_AUTH_SOCK=... + le export
$ SSH_AUTH_SOCK=/path/example/blabla; export SSH_AUTH_SOCK;
# on donne la passphrase
$ ssh-add
# quand on veut arrêter l'agent
$ ssh-add -d
~/.ssh/config
On peut ajouter de la configuration sur les hôtes.
$ vim ~/.ssh/config
# ...
Host super-site.fr 10.10.10.10
User alfonse
Host mon-site
HostName mon-super-site.fr
User admin
Port 2222
Host *
User alfonse
# ...
# commande de base
$ ssh -p 2222 admin@mon-super-site.fr
# commande simplifiée
ssh mon-site
~/.ssh/know_hosts
Ce fichier contient toutes les empreintes de première connexion. Il peut être parfois nécessaire de supprimer quelques entrées, suite à un changement de serveur par exemple.
# supprimer une entrée
$ ssh-keygen -R mon-super-site.fr
# ou
$ ssh-keygen -R 10.10.10.10
# -R -- remove host from known_hosts file