Невозможно подключиться к рабочим ssh-агентом

Я соединяюсь с продолжительной экранной сессией на сервере Ubuntu 12.04 и использованием, с которым как поле перехода для других вещей я соединяюсь. В результате я хочу продолжительный ssh-агент на той машине. С этой целью у меня есть следующее в моем .bashrc:

pgrep -u pdickey ssh-agent > /dev/null || ssh-agent -a $HOME/.ssh-auth-sock
SSH_AUTH_SOCK=$HOME/.ssh-auth-sock
export SSH_AUTH_SOCK

Пока моя экранная сессия никогда не разъединяется, это работает отлично. Я могу породить новые экраны, и они все получают тот же агент. Проблема возникает, когда я разъединяюсь от машины, которая имеет исходную ssh сессию. На повторно подключении я получаю следующее:

$ ssh-add -l
Could not open a connection to your authentication agent.

Все, что я нашел об этом, кажется, указывает, что это происходит, когда агент не работает, но я могу проверить, что он работает, и переменная $SSH_AUTH_SOCK установлена:

$ ps -fu pdickey | grep ssh-agent
pdickey    435     1  0 04:11 ?        00:00:00 ssh-agent -a /home/pdickey/.ssh-auth-sock
$ echo $SSH_AUTH_SOCK
/home/pdickey/.ssh-auth-sock

Итак, почему heck не это соединение? Я владею сокетом:

$ ls -la .ssh-auth-sock 
srw------- 1 pdickey pdickey 0 Mar 10 04:33 .ssh-auth-sock=

Я даже пошел, насколько к strace процесс, который после отсеивания посредством всех загрузок библиотеки, обеспечивает главным образом бесполезный бит информации:

64962 connect(3, {sa_family=AF_FILE, path="/home/pdickey/.ssh-auth-sock"}, 110) = -1 ECONNREFUSED (Connection refused)

Это - теперь предел моего Linux / человечность / ssh знание. Почему был бы сокет, которым я владею, созданный процессом, я владею, отказываюсь от соединения от другого процесса, которым я владею?

1
задан 10 March 2014 в 12:36

1 ответ

Так оказывается, что это - результат решения зашифровать мои корневые каталоги и размещение подлинного носка там... Это означает, когда я полностью отсоединяюсь с экрана, мои под управлением программы теряют доступ к моему корневому каталогу, который повреждает ssh-агент. Это не уничтожает процесс ssh-агента как удаление сокета, обычно делает, и это не удаляет сокет, потому что это находится в зашифрованном каталоге, к которому больше не может получать доступ машина. Это также проявляет другие причуды как мой демон крона, не бывший способный выполнять сценарии в моем корневом каталоге, если я не зарегистрирован.

1
ответ дан 11 November 2019 в 12:51

Другие вопросы по тегам:

Похожие вопросы: