Outils pour utilisateurs

Outils du site


informatique:linux:ssh

Création d'un tunnel SSH

Ouverture port "Local"

Ci-dessous on alloue le port 6666 à notre poste pour pouvoir se connecter sur le port 80 de la machine distante 192.168.0.1 :

ssh -g -L 6666:192.168.0.1:80 user@192.168.0.2

Depuis notre poste si l'on tape http://localhost:6666 dans un navigateur on accèdera en réalité à http://192.168.0.1:80

Ouverture port "Remote"

Il est possible de faire l'inverse, ci-dessous on ouvre le port 6666 sur la machine distante 192.168.0.1 pour qu'elle puisse se connecter sur notre poste en SSH :

ssh -g -R 6666:localhost:22 user@192.168.0.1

L'utilisateur distant peut se connecter en SSH sur notre machine par la commande ssh -p 6666 localhost

La commande ci-dessous assigne le port 6666 sur la machine distante 192.168.0.1 pour se connecter en SSH sur la machine client (127.0.0.1)

ssh root@192.168.0.1 -R 6666:127.0.0.1:22

Changer le port d'écoute de SSH

Editer le fichier /etc/ssh/sshd_config et remplacer la ligne :

Port 22

par

Port 443

Se connecter sur un serveur via un proxy

Pour le faire nous avons besoin d'un programme nommé connect pour passer le proxy :

Récuperer l'archive connect.zip

La déposer sur votre poste linux puis décompresser l'archive :

unzip connect.zip

Compiler le programme :

gcc connect.c -o connect

Puis déposer le binaire dans /usr/bin

mv connect /usr/bin

Pour se connecter via le proxy la commande sera par exemple la suivante :

ssh -o ProxyCommand="connect -H proxy.domaine.com:8080 %h %p" user@externSSH.domain.com

Pour configurer l'utilisation permanente du proxy ajouter par exemple la ligne ci-dessous dans le fichier /etc/ssh/ssh_config :

ProxyCommand connect -H proxy.domaine.com:8080 %h %p

Connexion SSH avec authentification par clé

Sous Linux

On veut que machine-A puis se connecter vers machine-B

Creation d'une clé privée et public sur machine-A
ssh-keygen -t dsa

Resultat attendu

Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
Copie de la clé publique de la machine-A vers la machine-B

Depuis la machine-A :

cat ${HOME}/.ssh/id_dsa.pub | ssh root@machine-B 'cat >> .ssh/authorized_keys2'

ou avec création du répertoire ${HOME}/.ssh sur le serveur distant s'il n'existe pas :

cat ${HOME}/.ssh/id_dsa.pub | ssh root@machine-B 'mkdir .ssh ; cat >> .ssh/authorized_keys2'

La connexion sans mot de passe est désormais possible de machine-A vers machine-B

Sous Putty

Executer puttygen.exe et generer une paire de clé SSH2 public/private. Sauver sous user.pub and user.ppk. Copier la clé publique dans ~/.ssh/user.pub sur la machine distante.

Sur la machine distante, convertir la clé publique au format OpenSSH puis ajouter la clé dans authorized_keys.

remote-host$ ssh-keygen -i -f ~/.ssh/user.pub > ~/.ssh/user2.pub
remote-host$ cat ~/.ssh/user2.pub >> ~/.ssh/authorized_keys

Se connecter en SSH sans interaction pour le mot de passe

Installer le paquetage sshpass

Pour se connecter en ssh :

sshpass -p '*********' ssh root@host

*** étant le mot de passe en clair.

informatique/linux/ssh.txt · Dernière modification: 2018/09/06 19:10 (modification externe)