
Мне нужно заставить ssh-agent использовать один и тот же файл для своего сокета каждый раз, когда я вхожу в систему. В настоящее время он использует случайный файл во временной папке, и это вызывает проблемы для службы systemd в Vagrant.
Мы запускаем команду для создания файла env, который определяет местоположение файла сокета для использования systemd, однако он продолжает менять местоположение при каждом входе в систему, и поэтому после подготовки Vagrant местоположение, записанное в файл env, изменилось и больше не является действительным.
/etc/ssh/ssh_auth_socket
Например, есть ли способ сделать так, чтобы это было всегда ?
решение1
Нет. Это невозможно с default ssh-agent
. Он также создает файл, $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
как указано на странице руководства. Это необходимо для обеспечения безопасности сокета (доступа не только вашему пользователю).
Но вы можете использовать gnome-keyring
. Они создают сокет в /run/user/1000/keyring/ssh
, поэтому он находится в безопасном месте и использует тот же протокол (распространён в рабочих столах Gnome).
Для чего это нужно? Если у вас есть путь в переменной, вы можете просто создать .bashrc
символическую ссылку из вашего «известного» местоположения в реальное место.