Je me connecte généralement au serveur distant avec
ssh user@server.com -p 11000
puis en donnant le mot de passe à chaque fois à l'utilisateur. Comment éviter de saisir le mot de passe chaque fois que je me connecte à l'aide de ssh?
Je me connecte généralement au serveur distant avec
ssh user@server.com -p 11000
puis en donnant le mot de passe à chaque fois à l'utilisateur. Comment éviter de saisir le mot de passe chaque fois que je me connecte à l'aide de ssh?
Réponses:
Tout d'abord , mettez ceci dans ~/.ssh/config
:
Host server
HostName server.com
Port 11000
User user
Vous pourrez ssh server
, puis saisir le mot de passe.
Ensuite , vérifiez ~/.ssh/
si vous avez des fichiers nommés id_rsa
et id_rsa.pub
. Sinon, vous n'avez aucune clé configurée, vous devez donc générer une paire à l'aide de ssh-keygen
. Vous pouvez donner ou non un mot de passe aux clés. Le fichier généré id_rsa.pub
devrait ressembler à ceci:
ssh-rsa lotsofrandomtext utilisateur @ local
Troisièmement , ssh vers le serveur, créez le fichier ~/.ssh/authorized_keys
s'il n'existe pas. Ajoutez ensuite le contenu de ce ~/.ssh/id_rsa.pub
que vous avez généré précédemment ici. Cela peut signifier copier le contenu du fichier dans votre presse-papiers, puis ouvrir ~/.ssh/authorized_keys
dans un éditeur de texte et coller la chose.
Vous pouvez également utiliser la commande ssh-copy-id server
(remplacer server
par le nom dans ~/.ssh/config
). Cela fera la même chose que ci-dessus. Parfois, j'ai vu ssh-copy-id
se coincer, donc je n'aime pas vraiment ça.
Vous devriez maintenant pouvoir utiliser ssh avec juste ssh server
, sauf si vous avez choisi de protéger votre clé privée avec une phrase secrète. En règle générale, si vous n'utilisez pas de phrase secrète, vous devez protéger votre clé privée par d'autres moyens (par exemple, le cryptage complet du disque).
Quatrièmement (nécessaire uniquement si vous protégez votre clé privée avec une phrase secrète), mettez ceci dans~/.bashrc
:
start_ssh_agent() {
# Try to use an existing agent
save=~/.ssh-agent
if [[ -e "$save" ]]
then
. "$save" > /dev/null
fi
# No existing agent, start a new one
if [[ -z "$SSH_AGENT_PID" || ! -e "/proc/$SSH_AGENT_PID" ]]
then
ssh-agent > "$save"
. "$save" > /dev/null
ssh-add
fi
}
start_ssh_agent
Avec cela, vous n'aurez à saisir la phrase secrète qu'une seule fois par démarrage de l'ordinateur.
User user
ligne à ~/.ssh/config
.
Passez à l' authentification par clé .
ssh -P 11000
j'ai pu copier avec ssh. Merci beaucoup.
En complément de la réponse de phunehehe, consultez le Guide Gentoo Linux Keychain pour un guide sur le trousseau . le trousseau utilise également ssh-agent . Le démon ssh-agent rend la phrase secrète disponible (elle devient indisponible lorsque le démon ssh-agent meurt) mais le trousseau reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in
, pour citer le guide.