Commande pour envoyer la clé publique à l'hôte distant

Je me souviens qu'il y a une commande pour envoyer une clé publique à l'hôte distant que je veux. Je veux utiliser cette fonctionnalité pour envoyer l'un de mes clés publiques à l'autre hôte. Comment puis-je le faire?

29
demandé sur user482594 2011-08-09 06:03:15

4 réponses

Vous recherchez ssh-copy-id. Tout ce que cette commande fait est de créer .ssh et .ssh/authorized_keys et de définir leurs autorisations de manière appropriée si elles n'existent pas. Puis il ajoute votre clé publique à la fin de .ssh/authorized_keys.

49
répondu cdhowie 2011-08-09 02:04:30

Vous cherchez peut-être cette commande:

cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'

Il ajoute votre clé publique aux clés autorisées des serveurs.

Source

10
répondu Flaudre 2016-07-22 08:02:20

Si votre serveur est déjà configuré pour l' accepte pas le mot de passe de connexion de type, vous pourriez obtenir un Permission denied (publickey) erreur.

C'est une autre méthode pour envoyer la clé, en utilisant netcat, de sorte que vous n'avez pas à vous authentifier. Il ne fonctionnera que sur un réseau local, mais vous pouvez utiliser la redirection de port pour le faire sur internet.

Sur le serveur:

$ nc -l 55555 >> ~/.ssh/authorized_keys

Sur le client (remplacez HOSTNAME par le nom d'hôte ou L'adresse IP du serveur):

$ nc HOSTNAME 55555 < ~/.ssh/id_rsa.pub

Vous pouvez remplacer 55555 par un port ouvert de votre choix.

Source: chat sur lan de linux à linux?


Annexe pour Total newbies: Je ne pense pas que quelqu'un ait encore mentionné cela, mais si vous obtenez ERROR: failed to open ID file '/home/username/.pub': No such file, Vous devez d'abord générer une clé. Les pages D'aide D'Ubuntu ont un excellent guide sur la génération de clés RSA .

1
répondu Keith 2017-04-13 12:22:39

La réponse sélectionnée est correcte, mais voici un script bash simple pour tous ceux qui veulent combiner keygen + copy: https://gist.github.com/wilcollins/bc420581da87962b8b47

Ce fichier crée une clé SSH sur un ordinateur client, applique les autorisations de fichier appropriées, copie le ~ / local.répertoire ssh, & copie sur le serveur spécifié.

0
répondu wilco 2016-03-08 21:38:45