07-04-2020
Section Windows
This commit is contained in:
106
docs/Windows/cles-ssh.md
Normal file
106
docs/Windows/cles-ssh.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Créer des clés SSH dans Windows et WSL
|
||||
|
||||
|
||||
|
||||
Créer les clés dans l'invite de commande:
|
||||
|
||||
```
|
||||
C:\Users\enzo2> ssh-keygen
|
||||
```
|
||||
|
||||
Crée un dossier `.ssh` contenant les clés publique/privée
|
||||
|
||||
On copie la clé publique sur le serveur:
|
||||
|
||||
```
|
||||
C:\Users\bruno\Desktop> type C:\Users\bruno\.ssh\id_rsa.pub | ssh -p42666 bruno@192.168.1.7 'cat >> .ssh/authorized_keys'
|
||||
** ne marche pas **
|
||||
```
|
||||
|
||||
Copier les clés dans wsl:
|
||||
|
||||
```
|
||||
cp -r /mnt/c/Users/bruno/.ssh ~/.ssh
|
||||
```
|
||||
|
||||
ou créer des liens symboliques:
|
||||
|
||||
```
|
||||
> ln -s /mnt/c/Users/bruno/.ssh/id_rsa ~/.ssh/id_rsa
|
||||
> ln -s /mnt/c/Users/bruno/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub
|
||||
> ln -s /mnt/c/Users/bruno/.ssh ~/.ssh
|
||||
```
|
||||
|
||||
Dans wsl, fixer les permissions:
|
||||
|
||||
```bash
|
||||
$ cd ~/.ssh
|
||||
$ chmod 600 id_rsa
|
||||
$ chmod 644 id_rsa.pub
|
||||
$ chmod 644 known_hosts
|
||||
|
||||
$ cd ~
|
||||
$ chmod 700 .ssh
|
||||
```
|
||||
|
||||
On se connecte au serveur avec le mdp:
|
||||
|
||||
```bash
|
||||
$ ssh -p42666 bruno@192.168.1.7
|
||||
bruno@192.168.1.7's password:
|
||||
bruno@DS916:~ $
|
||||
bruno@DS916:~ $ exit
|
||||
```
|
||||
|
||||
On copie la clé publique sur le serveur:
|
||||
|
||||
```bash
|
||||
$ cd ~/.ssh
|
||||
$ cat id_rsa.pub | ssh -p42666 bruno@192.168.1.7 'cat>> ~/.ssh/authorized_keys'
|
||||
$ cat id_rsa.pub | ssh funnymac@ftp.cluster011.ovh.net 'cat>> ~/.ssh/authorized_keys'
|
||||
```
|
||||
|
||||
On se connecte enfin au serveur avec la clé:
|
||||
|
||||
```bash
|
||||
$ ssh -p42666 bruno@192.168.1.7
|
||||
Enter passphrase for key '/home/enzo2/.ssh/id_rsa'
|
||||
bruno@DS916:~ $
|
||||
```
|
||||
|
||||
On installe **keychain**:
|
||||
|
||||
```bash
|
||||
$ sudo apt install keychain
|
||||
```
|
||||
|
||||
puis
|
||||
|
||||
<u>pour Bash</u>: ajouter au fichier `~/.bashrc`
|
||||
|
||||
```bash
|
||||
eval `keychain --eval --agents ssh id_rsa`
|
||||
```
|
||||
|
||||
<u>pour Zsh:</u> ajouter au fichier `.zshrc`
|
||||
|
||||
```bash
|
||||
eval `keychain --eval --agents ssh id_rsa`
|
||||
```
|
||||
|
||||
ou ajouter au fichier .zshrc
|
||||
|
||||
```bash
|
||||
function check_ssh {
|
||||
[[ $3 =~ '\bssh\b' ]] || return
|
||||
[[ -n "$SSH_AGENT_PID" && -e "/proc/$SSH_AGENT_PID" ]] \
|
||||
&& ssh-add -l >/dev/null && return
|
||||
eval `keychain --eval id_dsa --timeout 60`
|
||||
}
|
||||
autoload -U add-zsh-hook
|
||||
add-zsh-hook preexec check_ssh
|
||||
```
|
||||
|
||||
https://unix.stackexchange.com/a/532477
|
||||
|
||||
|
||||
Reference in New Issue
Block a user