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?
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.
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
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