Carnet de Nicolas
Journal de bord et autres pérégrinations de l’esprit

Mettre à jour ses dépôts Bitbucket utilisés en SSH

Si vous utilisez les services de la forge Bitbucket, vous avez sûrement reçu un courriel « Action required: update your Bitbucket SSH config ». On y apprend qu’ils vont modifier leur nom d’hôte SSH de bitbucket.org à ssh.bitbucket.org.

Si vous utilisez HTTPS pour gérer vos dépôts Git, bonne nouvelle, vous n’avez rien à faire. Sinon, mauvaise nouvelle, cette modification sera effective le 12 novembre, ce qui laisse moins d’un mois pour s’organiser. Heureusement que je n’en ai que quelques uns… Voyons comment faire et quelles configurations mettre à jour.

On va s’aider de leur article d’aide, qui, de façon décevante, est incomplet et imprécis.

  1. La première étape consiste à vérifier si notre dépôt Git utilise SSH ou HTTPS. Pour cela, on se rend dans le dépôt et on lance la ligne de commande :
    git remote -v
    • Si les sources contiennent https, rien à faire.
      origin  https://bitbucket.org/<workspace>/<repository>.git (fetch)
      origin  https://bitbucket.org/<workspace>/<repository>.git (push)
    • Si les sources contiennent git, là on va devoir modifier l’origine du dépôt.
      origin  git@bitbucket.org:<workspace>/<repository>.git (fetch)
      origin  git@bitbucket.org:<workspace>/<repository>.git (push)
  2. Pour remplacer l’origine du dépôt, on utilise la ligne de commande suivante :
    git remote set-url origin git@ssh.bitbucket.org:<workspace>/<repository>.git
    La seule différence par rapport à l’origine originelle (huhu) est le nouveau nom d’hôte ssh.bitbucket.org.
  3. Comme il s’agit d’un nouveau nom d’hôte, il faut autoriser ses nouvelles empreintes. De mon côté, je vais les ajouter dans le fichier known_hosts, généralement placés dans le dossier ~/.ssh/.
    On récupère les empreintes depuis bitbucket.org. Mais, parce qu’ils ont fait ça de façon (pas) cohérente, c’est encore l’ancien nom d’hôte. Il faut donc ajouter ces lignes dans notre fichier en prenant soin de corriger leur erreur.
    ssh.bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQeJzhupRu0u0cdegZIa8e86EG2qOCsIsD1Xw0xSeiPDlCr7kq97NLmMbpKTX6Esc30NuoqEEHCuc7yWtwp8dI76EEEB1VqY9QJq6vk+aySyboD5QF61I/1WeTwu+deCbgKMGbUijeXhtfbxSxm6JwGrXrhBdofTsbKRUsrN1WoNgUa8uqN1Vx6WAJw1JHPhglEGGHea6QICwJOAr/6mrui/oB7pkaWKHj3z7d1IC4KWLtY47elvjbaTlkN04Kc/5LFEirorGYVbt15kAUlqGM65pk6ZBxtaO3+30LVlORZkxOh+LKL/BvbZ/iRNhItLqNyieoQj/uh/7Iv4uyH/cV/0b4WDSd3DptigWq84lJubb9t/DnZlrJazxyDCulTmKdOR7vs9gMTo+uoIrPSb8ScTtvw65+odKAlBj59dhnVp9zd7QUojOpXlL62Aw56U4oO+FALuevvMjiWeavKhJqlR7i5n9srYcrNV7ttmDw7kf/97P5zauIhxcjX+xHv4M=
    ssh.bitbucket.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIQmuzMBuKdWeF4+a2sjSSpBK0iqitSQ+5BM9KhpexuGt20JpTVM7u5BDZngncgrqDMbWdxMWWOGtZ9UgbqgZE=
    ssh.bitbucket.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
  4. Enfin, si vous l’utilisez, dernière configuration Git à mettre à jour : le fichier config. Il faut remplacer l’ancien nom d’hôte avec le nouveau.
    Host ssh.bitbucket.org
        HostName ssh.bitbucket.org
        User git
        IdentityFile ~/.ssh/bitbucket_deployment

Et voilà, nous avons mis à jour notre dépôt Git pour fonctionner avec le nouveau nom d’hôte, et mis à jour les autres configurations Git nécessaires.