Comment générer une clé privée-publique à l'aide de ssh-keygen et la rendre autorisée?

19

Je veux générer une clé publique-privée sur le serveur 1 et la stocker dans un emplacement qui n'est pas l'emplacement par défaut.

Ensuite, enregistrez la clé publique sur le serveur 2; encore une fois PAS à l'emplacement par défaut.

Faites ensuite de cette clé une clé autorisée.

Cependant, je ne trouve pas le authorized_keysfichier dans le ~/.sshdossier. Comment puis-je le rendre autorisé?

Aditya
la source
1
ssh-keygen est la commande pour générer des clés. Il demande l'emplacement du fichier clé lors de la création. Je pense que vous devez créer la clé de fichier autorisée si vous n'en avez pas
sagarchalise

Réponses:

22
  1. Courez ssh-keygen -f filename.
  2. Courir scp filename username@server:filename-on-server
  3. Connectez-vous au serveur et exécutez cat filename-on-server >> ~/.ssh/authorized_keys

Vous pouvez également remplacer les étapes 2 et 3 par ssh-copy-id -i filename username@server.

Mikel
la source
Je reçois une erreur: trop d'arguments
IgorGanapolsky
@Igor à quelle étape?
Mikel
1
Ne devez-vous pas ajouter filename.pub plutôt que filename (qui sera votre clé privée?)
Samuel
1

Utilisez la ssh-keygencommande. Sur le serveur (où vous voulez que ssh) stocke la clé publique dans un fichier ~/.ssh/authorized_keys. Si vous n'avez pas encore de répertoire .ssh dans votre maison (~), créez-le (faites également attention: il semble que sshd soit difficile - pour des raisons de sécurité - qu'aucun autre utilisateur ne puisse lire ce fichier / répertoire, il est préférable d'émettre chmod 700 sur votre répertoire .ssh et chmod 600 sur le fichier qu'il contient).

Sur la machine à partir de laquelle vous souhaitez ssh ("client"), vous pouvez alors utiliser la clé privée pour ssh vers votre serveur. Vous pouvez le stocker n'importe où, puis vous pouvez utiliser le -icommutateur de ssh, pour donner la clé publique qui sera utilisée. J'écris ceci, puisque vous avez déclaré que "ne pas stocker à l'emplacement par défaut". L'emplacement par défaut serait file id_dsa(pour la clé DSA) dans votre répertoire .ssh. Ensuite, vous n'avez pas besoin du -icommutateur pour spécifier votre clé, car elle sera automatiquement récupérée à partir de là.

LGB
la source
1

On dirait que vous avez déjà créé les clés. Sinon, exécutez simplement ssh-keygen et acceptez les valeurs par défaut. Créez vous-même le fichier authorized_keys:touch authorized_keys

Lorsque vous conservez vos clés privées dans un emplacement non standard, assurez-vous et utilisez -i: ssh -i /path/to/privatekey user@host

Voici un bon article sur ssh-keygen et l'utilisation de authorized_keys pour simplifier les connexions ssh:

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

djeikyb
la source