web-dev-qa-db-fra.com

byobu et ssh-agent

byobu ne peut pas bien se connecter au socket ssh-agent. En fait, je ne peux établir qu'une seule connexion via ssh-agent, mais si j'essaie d'établir une autre connexion ssh à l'aide de l'agent, cela ne fonctionne pas. J'ai essayé

setenv SSH_AUTH_SOCK `echo $SSH_AUTH_SOCK`

dans ~/.byobu/profile mais cela ne fonctionna pas aussi bien.

7
ubik

Je ne sais pas pourquoi les gens tentent de résoudre ce problème au niveau de la configuration du multiplexeur de terminaux. Ce n'est pas un endroit pour ça, à moins que vous ne souhaitiez le refaire parce que vous êtes passé à tmux, screen, etc.

Chaque fois que vous ouvrez une autre fenêtre, votre shell est exécuté et lit ses fichiers de configuration.

La recherche de ceci à partir de votre fichier de configuration de shell résout le problème de tout shell que j'utilise:

#!/bin/bash
SSH_AGENT_TYPE="ssh"
SSH_AGENT_INFO="${HOME}/.ssh-agent"

source_agent_info() {
  export SSH_AUTH_SOCK=''
  export SSH_AGENT_PID=''

  if [[ -f ${SSH_AGENT_INFO} ]]; then
    source ${SSH_AGENT_INFO}
  fi
}

agent_running() {
  source_agent_info
  proc_file="/proc/${SSH_AGENT_PID}/cmdline"
  if [[ "${SSH_AGENT_PID}" =~ ^[0-9]+$ ]] && \
     stat "${proc_file}" &> /dev/null && \
     grep ssh-agent "${proc_file}" &> /dev/null; then
    return 0
  else
    return 1
  fi
}

run_ssh_agent() {
  ssh-agent 2>&1 | grep -v echo > "${SSH_AGENT_INFO}"
  source_agent_info
}

if ! agent_running; then
  run_ssh_agent
fi
8
Marcin Kaminski

Ce problème est détaillé dans bogue n ° 664059 , et résolu pour les versions de byobu 3.7 et supérieures.

Fondamentalement, il existe une hypothèse incorrecte selon laquelle /var/run/screen/S-$USER/ existera et sera accessible en écriture au moment où le socket SSH doit être défini. J'ai donc déplacé le lien symbolique vers le socket SSH vers $HOME/.byobu/.ssh-agent.

2
Dustin Kirkland

Il y a un rapport de bogue # 616899 qui semble similaire à votre problème. Ils suggèrent de télécharger byobu v3.1 et de l'installer manuellement.

1
qbi

Je fais ssh-agent byobu toutes les variables d'environnement sont passées facilement.

0
Howard Tan