web-dev-qa-db-fra.com

Comment recharger le fichier de configuration ssh sous Mac OS X via un terminal

Lorsque je mets à jour mon fichier de configuration ssh afin que je puisse changer de compte github actuel, les modifications ne fonctionneront pas correctement à moins que je ne redémarre iTerm. Je travaille sur un script pour automatiser le changement de compte github et j'aimerais que le script recharge les paramètres de configuration dans le fichier de configuration mis à jour. Comment puis-je atteindre cet objectif?

8
Daniel Jacobson

Dans mon cas, j’ai finalement découvert que le problème n’était pas le fichier de configuration (ssh -vvv -F /dev/null -i /some/path/some_other_key et même en déplaçant les anciennes clés dans ~/.ssh/ ailleurs, a néanmoins réussi à magick l’ancienne clé de nulle part), mais plutôt le ssh agent. Je devais effacer avec ssh-add -D.

man ssh_config précise que -i sur ssh doit avoir priorité sur le fichier ~/.ssh/config; Donc, si vous faites cela et que cela ne fonctionne toujours pas, un pouvoir de haute priorité non documenté s'immisce.

1
jdowdell

Alors que je cherchais un moyen d’actualiser le fichier, j’ai réalisé que ce que je recherchais, c’était un moyen de terminer automatiquement la commande,

Rafraîchir n'était pas nécessaire comme le mentionne @Jakuje ci-dessus

Pour ceux que cela intéresse, le script de complétion automatique est:

complete -o default -o nospace -W "$(grep "^Host" $HOME/.ssh/config | cut -d" " -f2)" scp sftp ssh

Ce que j'ai trouvé ici .

Ajoutez le script ci-dessus à .bash_profile puis exécutez source .bash_profile

0
Tomos Williams

Vous souhaiterez peut-être consulter la documentation d'Atlassian sur l'utilisation de plusieurs identités. Un cas comme celui que je décris que vous décrivez - le changement de compte - peut être mieux traité avec un fichier de configuration SSH prenant en charge plusieurs comptes simultanément au lieu de la création de scripts.

Ils fournissent l'exemple suivant pour le fichier config à ~/.ssh/config:

# Default GitHub user
Host github.com
 HostName github.com
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/personalid

# Work user account
Host bitbucket.org
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/workid
0
user2623888