J'essaie de SSH d'un NAS à un serveur Web en utilisant une clé publique. L'utilisateur NAS est «root» et l'utilisateur du serveur Web est «backup»
J'ai toutes les autorisations définies correctement et lorsque je débogue la connexion SSH, j'obtiens: (dernier petit morceau du débogage)
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /root/.ssh/id_dsa.pub
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_dsa.pub':
J'utilise la commande:
ssh -v -i /root/.ssh/id_dsa.pub [email protected]
Le fait qu'il demande une phrase de passe est certainement un bon signe, mais je ne veux pas qu'il demande cela ou un mot de passe (qui vient après si j'appuie sur 'retour' sur la phrase de passe)
la source
Cela m'est arrivé lorsque la clé privée que j'avais n'était pas au format OpenSSH.
À l'origine, j'ai généré ma clé sur Windows en utilisant PuttyGen et je me faisais rebondir avec cette même chose.
J'ai pu le réparer en chargeant la clé dans PuttyGen et en cliquant sur "Conversions" pour l'obtenir au format OpenSSH.
la source
Il y a plusieurs choses.
Principalement, si la CLÉ demande un mot de passe, la clé a été générée avec lui. Deuxièmement, si le système demande un mot de passe après, la clé ne s'authentifie pas. Cela signifie que vous devrez régénérer votre clé SSH (ou la changer comme suggéré par @rbtux) et corriger les fichiers authorized_keys.
Les éléments entre accolades sont les options, le type et la taille des bits (pour indiquer l'évidence: dsa> rsa, 4096> 1024 - en termes de "sécurité").
Ensuite, vous devez ajouter la clé publique (.pub) aux fichiers
authorized_keys
etauthorized_keys2
(c'est une idée fausse courante de dire que le .pub est à usage local, mais il est destiné à être comparé) Donc dans le.ssh
dossier du serveur .Ensuite, de votre côté, vous devez vous assurer que les autorisations clés sont
chmod 600 id_example
et pour alléger la saisie de tout cela, vous pouvez configurer le fichier de configuration:~/.ssh/config
sur votre boîte locale (c'est-à-dire un squelette, vous pouvez le personnaliser une tonne):la source
$ ssh user@comp -i ~/.ssh/id_rsa.pub
et il a dit des autorisations mauvaises et privées la clé sera ignorée .. j'ai donc changé les autorisations en 600 comme id_rsa le serait, et il a demandé une phrase de passe. Donc, en effet, il vous demandera alors une phrase secrète si vous spécifiez la clé publique, même si la clé publique et la clé privée n'ont pas été générées avec une phrase secrètePour moi, puisque la clé elle-même était cryptée, j'ai suivi les étapes suivantes:
$ ssh-agent bash
$ ssh-add
$ ssh-add /location/of/key
Pour inspecter à tout moment, la liste des clés actuellement chargées:
Plus de détails peuvent être obtenus à partir de ce lien
la source
essayez https://wiki.gentoo.org/wiki/Keychain
C'est une sorte d'enveloppe
ssh-agent
etssh-add
Avantages: Pas besoin de saisir le mot de passe à plusieurs reprises tant que vous ne redémarrez pas. Pourrait être utilisé dans
crontab
.Cela pourrait être utile.
la source
Cela peut être dû au fait que vous utilisez une clé de publication DSA qui est désactivée par défaut dans OpenSSH v7.
Si vous ne pouvez pas modifier la paire de clés, une solution de contournement possible consistera à dire à votre démon SSH sur webserver.com d'accepter ces types de clés, en mettant à jour
/etc/ssh/sshd_config
ou en ajoutant la ligne suivanteEt puis redémarrer le service
la source
Sur Mac OSX, vous pouvez ajouter votre clé privée au trousseau en utilisant la commande:
Si votre clé privée est stockée dans ~ / .ssh et est nommée id_rsa:
Vous serez ensuite invité à saisir votre mot de passe, qui sera stocké dans votre trousseau.
la source