byobu и ssh-agent

7

byobu не может подключиться к сокету ssh-agent. на самом деле я могу сделать только одно соединение через ssh-agent, но если я попытаюсь установить другое ssh-соединение с помощью агента, это не сработает. Я пробовал

setenv SSH_AUTH_SOCK 'echo $SSH_AUTH_SOCK'

в ~/.byobu/profile , но это не сработало.

    
задан ubik 18.08.2010 в 20:11
источник

4 ответа

7

Я не уверен, почему люди пытаются решить эту проблему на уровне конфигурации терминального мультиплексора. Это не место для него, если вы не захотите повторить это, потому что вы переключились на tmux, screen и т. Д.

Каждый раз, когда вы открываете другое окно, ваша оболочка запускается и считывает свои файлы конфигурации.

Поиск этого из файла конфигурации оболочки решает проблему для любой используемой оболочки:

#!/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
    
ответ дан Marcin Kaminski 06.08.2013 в 19:10
2

Эта проблема подробно описана в ошибке # 664059 и решена для версий byobu 3.7 и выше.

В принципе, существует некорректное предположение о том, что /var/run/screen/S-$USER/ будет существовать и быть доступным для записи в точке, где необходимо установить SSH-сокет. Поэтому я переместил символическую ссылку в SSH-сокет на $HOME/.byobu/.ssh-agent .

    
ответ дан Dustin Kirkland 01.12.2010 в 14:48
1

Существует отчет об ошибке # 616899 , который похож на вашу проблему. Они предлагают загрузить byobu v3.1 и вручную установить его.     

ответ дан qbi 19.08.2010 в 09:20
0

Я делаю ssh-agent byobu , все переменные среды легко передаются.

    
ответ дан Howard Tan 06.08.2013 в 18:27