Quelle est la meilleure façon de faire scp
d'une boîte à l'autre sans demander de mot de passe?
Il y a deux serveurs:
Serveur A (10.152.2.10):
/home/oracle/export/files.txt
Serveur B (10.152.2.11):
/home/oracle/import/
Si je souhaite transférer les fichiers à scp
partir du serveur A vers le serveur B sans être invité à entrer un mot de passe
[exécutant cela à partir du serveur A, /home/oracle/export/
]
scp files.txt [email protected]:/home/oracle/import
Cela me demanderait un mot de passe lors de la saisie de la commande.
Je comprends qu'un keygen doit être généré et copié sur le serveur A. Ainsi [sur le serveur A]:
ssh-keygen -t rsa
Cela me donne deux fichiers stockés dans /home/oracle/.ssh
:
id_rsa
id_rsa.pub
1. Suis-je censé copier les deux fichiers ( id_rsa
, id_rsa.pub
) sur le serveur B /home/oracle/.ssh
?
Tout en effectuant une recherche Google à ce sujet, certains articles ont mentionné l'ajout / la concaténation de ceci à authorized_keys.
2. Suis-je censé créer ce fichier par moi-même?
Je semble confus quant à la bonne façon de procéder.
Btw, les deux serveurs exécutent Suse Linux Enterprise Edition 9 ...
la source
Réponses:
id_rsa
pour toi; cependant,id_rsa.pub
qui est votre clé publique, peut être copiée sur les serveurs auxquels vous souhaitez avoir accès. Les concaténer à la fin de~/.ssh/authorized_keys
.~/.ssh/authorized_keys
si ce n'est déjà fait; sinon, ajoutez simplement à la fin du fichier, en utilisantcat id_rsa.pub >>~/.ssh/authorized_keys
.la source
Il existe également un outil qui trie tout cela pour vous
ssh-copy-id
.Il ajoutera la clé dans votre agent si vous en avez une en cours d'exécution dans le
authorized_keys
fichier et la créera si elle n'existe pas avec les autorisations appropriées. Si vous n'exécutez pas d'agent, vous pouvez spécifier la clé à utiliser avec-i
:ssh-copy-id -i ~/.ssh/id_rsa
la source
Vous devez également vérifier les autorisations sur les différents fichiers et répertoires:
Votre répertoire personnel ne doit pas être accessible en écriture par une personne autre que vous.
la source
Dans le cas où vous configurez la clé générée à partir de
ssh-keygen
mais que le transfert sans mot de passe ne fonctionne pas, vérifiez la clé publique utilisée sur la machine source en mode verbeux comme ci-dessous:Habituellement, il fait référence à une clé publique
/home/<user>/.ssh/id_rsa.pub
qui peut être différente de celle que vous avez générée à l'aidessh-keygen
. Vous devez l'ajouterid_rsa.pub
au serveur de destination.la source
Je ferais ce qui suit:
Cela copie la clé du client vers le serveur. Vous aurez besoin du mot de passe du serveur pour lui faire ajouter votre clé à son anneau.
Je voudrais au moins varier, désactiver l'authentification par mot de passe.
la source