Сделать SSH_AUTH_SOCK каждый раз одним файлом

Мне нужно, чтобы ssh-agent использовал один и тот же файл для своего сокета при каждом входе в систему. В настоящее время он использует случайный файл во временной папке, и это вызывает проблемы для службы systemd в vagrant.

Мы запускаем команду для создания файла env, который определяет местоположение файла сокета для использования systemd, но он продолжает менять местоположение при каждом входе в систему, и поэтому после бродячих положений местоположение, записанное в файл env, изменилось и больше не является действительный.

Есть ли способ заставить его быть всегда /etc/ssh/ssh_auth_socket например?

1 ответ

Нет. Это невозможно по умолчанию ssh-agent, Создает также файл в $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid> как отмечено на странице руководства. Это делается для того, чтобы убедиться, что сокет безопасен (не доступен только для вашего пользователя).

Но вы можете использовать gnome-keyring, Они создают сокет в /run/user/1000/keyring/sshТаким образом, он находится в безопасном месте и использует тот же протокол (распространенный в рабочих столах Gnome).

Для чего тебе это? Если у вас есть путь в переменной, вы можете просто создать .bashrc создать символическую ссылку из вашего "известного" местоположения в реальное место.

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