Articles avec #ssh tag

Publié le 8 Juin 2017

Pour configurer un serveur HTTP avec TLS il est nécessaire d'avoir un certificat (fichier .p12 dans mon cas). 

Je parle ici de certificat auto-généré et par conséquent non-vérifié par une autorité de certification. C'est une approche tout à fait valable pour des tests mais non recommandée en production.

Un fichier .p12 combine à la fois un certificat et une clé privé. Il faut donc commencer par générer ces 2 éléments:

openssl req -newkey rsa:2018 -nodes -keyout key.pem -x509 -days 365 -out server.pem

Cela génère 2 fichiers:

  • key.pem: la clé privée
  • server.pem: le certificat

Il ne reste plus qu'à combiner les 2 dans un seul ficher .p12 avec la commande suivante:

openssl pkcs12 -inkey key.pem -in server.pem -export -out server.p12

Une fois le fichier server.p12 générer on peut le vérifier avec la commande:

openssl pkcs12 -in server.p12 -noout -info

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH, #Linux

Repost 0

Publié le 19 Mai 2017

Github affiche le fingerprint des clés SSH associées à son compte. Comme j'utilise différente clés SSH j'ai parfois du mal a retrouvé la bonne clé.

Heureusement on peut comparer les empreintes (fingerprint) des clés SSH pour retrouver la bonne.

Par contre il faut utiliser la commande suivante pour afficher l'empreinte d'une clé stocker sur sa machine:

sh-keygen -E md5 -lf mon/dossier/ma_cle

ce qui affiche quelque chose comme:

2048 MD5:a6:19:ba:60:a9:ee:4e:8f:d4:ff:6e:c4:1d:53:1e:92 ma_cle (RSA)

Et voilà il n'y a plus qu'à comparer pour retrouver la bonne clé.

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0

Publié le 23 Juillet 2014

scp utilise par défaut le port ssh (port 22). Si vous avez besoin d'utiliser un port différent (ex: 2222) il faut utiliser l'option -P. Ce qui donne:

scp -P 2222 mon_fichier mon_serveur:/mon/repertoire/

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0

Publié le 12 Avril 2012

Cette opération peut s'effectuer en ligne de commande. Il faut donc commencer par ouvrir une fenêtre de ligne de commande:

Menu Démarrer / Exécuter puis saisir "cmd" et valider

Ensuite dans la fenêtre de commande il faut taper:

net start <nom du service>

par exemple pour démarrer openssh:

net start opensshd

et

net stop opensshd 

pour l'arrêter

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0

Publié le 8 Décembre 2011

Suite à mon article sur l'exécution de commande à distance, j'ai rencontréun problème dans le cas où la commande distante ne se termine pas (par exemple pour démarrer une application genre serveur) et pourtant j'ai besoin de reprendre la main sur la machine locale.

Après avoir essayé de jouer avec les '&' et les 'nohup' sans succès, j'ai trouvé l'option -f de ssh qui permet de récupérer la main tout en plaçant la commande ssh en arrière plan:

# ssh -f remote_host "sleep 10"

me rend la main immediatement et si je fais regarde les process qui tourne:

# ps -ef | grep ssh
root     18947     1  0 12:12 ?        00:00:00 ssh -f remote_host sleep 10

puis il dispataît quand le sleep se termine sur la machine distante

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0

Publié le 17 Novembre 2011

Si vous avez lu mon artile précédent sur SSH et que vous avez essayé la commande

ssh-copy-id user@remote-host 

Vous avez probablement rencontré l"erreur suivante: 

/usr/bin/ssh-copy-id: ERROR: No identities found

Cela vient du fait que sur Ubuntu il n'y a pas de fichier .ssh/id_rsa de créer. Seul le fichier known_hosts est présent dans le répertoire .ssh.

Cela signigie qu'il vous faut générer vos clés SSH. Cela se fait simplement avec la commande ssh-keygen:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab user@local_host
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+-----------------+

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0

Publié le 8 Novembre 2011

SSH est très connu pour ce connecter à une machine distante mais il permet également d'exécuter une commande à distance sans ouvrir de session.

Ceci se fait de manière très simple, il suffit de taper la commande à executer à la fin de la ligne ssh. Par exemple:

ssh root@machine_distante 'df -h'

Cette commande permet de récupérer l'espace disque sur la machine distante en exécutant df -h.

Attention à bien mettre la commande distante entre quote (' ou ") pour éviter les erreurs d'interprétation par le shell local.

Cette technique combinée avec la connection sans mot de passe permet très facile d'exécuter plusieurs commande à distance depuis un script.

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0

Publié le 19 Octobre 2011

SSH permet de se connecter à une machine distante sans avoir à saisir de mot de passe pour peu que les clés SSH soient bien configurées.

Le principe est simple (je pars du principe qu'on est sur une machine locale et qu'on veut se connecter à une machine distante):

- Chaque machine (et chaque utilisateur) possède un répertoire .ssh dans son home. C'est là où sont stockés les clés SSH.

- Pour pouvoir se connecter à une machine distante il faut que le fichier .ssh/authorized_keys contiennent la clé publique de la machine locale. Ainsi la machine distante peut facilement vérifier l'identité de la machine local à l'aide du mécanisme de clés publique/privée.

- La clé publique de la machine locale se trouve dans le fichier .ssh/id_rsa.pub. Il faut donc copier le contenu de ce fichier sur la machine distante dans  .ssh/authorized_keys

Et voilà c'est tout il suffira de répondre 'yes' lors de la première connection vers la machine distante et après le login devient complétement automatique.

Comme la copie des clés manuellement est un peu fastidieuse il existe la commande :

ssh-copy-id user@host

qui permet d'automatiser ce processus.

Voir les commentaires

Rédigé par Bliz

Publié dans #SSH

Repost 0