Бёбу и СШ-агент
Byobu не может подключиться к сокету ssh-agent. на самом деле я могу установить только одно соединение через ssh-agent, но если я попытаюсь установить другое ssh-соединение с помощью агента, это не сработает. я пробовал
setenv SSH_AUTH_SOCK `echo $SSH_AUTH_SOCK`
в ~/.byobu/profile
но это не сработало.
4 ответа
Я не уверен, почему люди пытаются решить эту проблему на уровне конфигурации терминала мультиплексора. Это не место для этого, если вы не хотите делать это снова, потому что вы переключились на 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
Эта проблема подробно описана в ошибке #664059 и решена для версий 3.7 и выше.
По сути, существует неверное предположение, что /var/run/screen/S-$USER/
будет существовать и быть доступным для записи в точке, где необходимо установить сокет SSH. Поэтому я переместил символическую ссылку на сокет SSH, чтобы $HOME/.byobu/.ssh-agent
,
Есть сообщение об ошибке #616899, которое звучит похоже на вашу проблему. Они предлагают скачать byobu v3.1 и установить его вручную.
Я делал ssh-agent byobu
все переменные окружения легко передаются.