Sous macOS ou sous Linux (Ubuntu):
ssh-keygen et répondre aux questions.Pour plus de sécurité:
$ ssh-keygen -t ed25519 -a 256 [-C "user@host"]
Meilleure compatibilité pour le moment:
$ ssh-keygen -t rsa -b 4096 -o -a 100
Sur Windows, on peut installer Git (si on est pour l'utiliser ou qu'il est déjà installé) et dans le Git Bash la commande ssh-keygen est disponible.
Avec ssh-keygen la clé est dans %userprofile%\.ssh\id_rsa.pub.
Dans Git GUI, on peut aller dans le menu Help et faire Show SSH Key. Il va regarder dans ~/.ssh/ si id_rsa.pub existe. S'il n'existe pas, le bouton Generate Key sera disponible et il sera possible de générer la clé. S'il existe, ça va montrer la clé et on pourra la copier dans le presse-papier.
pbcopy < ~/.ssh/id_rsa.pub
Voir Generating SSH keys
Dans Git Bash, on peut faire ceci:
$ clip < ~/.ssh/id_rsa.pub
Ceci est la méthode pour copier la clé SSH pour se connecter en SSH au serveur sans avoir besoin de tapper le mot de passe à chaque fois.
$ ssh-copy-id 192.168.1.101
ou
$ ssh-copy-id [-p port] user@host
ssh-keygen. Utiliser Google pour en savoir plus.ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)". Voir le site de Brew pour la commande exacte.brew install ssh-copy-id.ssh-copy-id user@host en adaptant le user et le host.ssh user@host ne demandera plus de mot de passe.cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Encore une fois, il ne faut pas oublier d'adapter le user et le host.
Installation:
$ sudo apt-get install openssh-server
Dans le fichier /etc/ssh/sshd_config:
no à PermitRootLogin (par défaut c'est prohibit-password sur Ubuntu 16.04).PasswordAuthentication et mettre no.Pour laisser les connexions remote:
$ sudo ufw allow ssh
Dans cet exemple on prend le port 22488, mais ça peut être n'importe quel autre port en haut de 1024 et en bas de 65535.
Dans le fichier /etc/ssh/sshd_config, décommenter la valeur Port et mettre Port 22488.
Ouvrir le firewall pour ce port:
$ sudo ufw allow 22488/tcp
Ensuite redémarrer le service:
$ sudo systemctl daemon-reload $ sudo systemctl restart ssh.socket $ sudo systemctl status ssh
Se déconnecter et se reconnecter sur le port 22488:
$ ssh -p 22488 remotehost
Bloquer le port 22 sur le firewall:
$ sudo ufw deny ssh
Sur le client, faire:
$ nano ~/.ssh/config
Entrer la ligne suivante:
VisualHostKey=yes
On peut aussi utiliser l'option dans ssh :
$ ssh user@host -o VisualHostKey=yes
bitnami-hosting.cer)$ chmod 600 bitnami-hosting.cer$ ssh -i bitnami-hosting.cer bitnami@subdomain.bitnamiapp.com