GNU/Linux >> Tutoriels Linux >  >> Linux

Comment transférer une clé Ssh déjà transférée vers Tmux ?

Je me connecte via SSH à partir d'une machine sur laquelle mes clés sont stockées, je les transmets à une deuxième machine, puis j'essaie d'utiliser les clés depuis tmux. J'ai l'impression de "perdre" le transfert lors de la saisie de tmux. Comment puis-je "transférer à nouveau" afin que je puisse utiliser mes clés depuis tmux ?

$ ssh [server] -o ForwardAgent=yes
$ git pull       # Succeeds.
$ /bin/bash
$ git pull       # Still succeeds, despite new shell.
$ exit
$ tmux attach
$ git pull       # Permission denied (publickey)

Réponse acceptée :

Si vous attachez une session tmux déjà existante, le shell n'hérite pas des variables d'environnement de votre shell de connexion. En particulier, il n'héritera pas des variables d'environnement de l'agent ssh.

Essayez ce correctif :

  1. Créez ce script et placez-le dans $HOME/.ssh/saveagent

    #!/bin/sh
    SSHVARS="SSH_CLIENT SSH_TTY SSH_AUTH_SOCK SSH_CONNECTION DISPLAY"
    
    for var in ${SSHVARS} ; do
      echo "export $var="$(eval echo '$'$var)""
    done 1>$HOME/.ssh/latestagent
    
  2. Ajoutez-le à votre script de démarrage du shell. Par exemple si vous utilisez bash :

    echo '. ~/.ssh/saveagent' >> ~/.bash_login
    
  3. Après avoir attaché le tmux, exécutez . $HOME/.ssh/latestagent


Linux
  1. Comment configurer la connexion SSH sans mot de passe

  2. Comment configurer l'authentification basée sur une clé SSH sous Linux

  3. Comment configurer des clés SSH

  4. Comment se connecter en SSH à un conteneur Docker

  5. Comment configurer des clés SSH sur Ubuntu 18.04

Comment générer une clé SSH dans CentOS 8

Comment créer une phrase de passe de clé SSH sous Linux

Comment se connecter en SSH à un Raspberry Pi [Astuce du débutant]

Comment ajouter une clé publique SSH au serveur

Comment se connecter en SSH à un conteneur Docker

Comment améliorer la sécurité SSH sur Ubuntu 18.04