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

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

Мне нужно заставить 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символическую ссылку из вашего «известного» местоположения в реальное место.

Связанный контент