
Eu preciso ser capaz de fazer com que o ssh-agent use o mesmo arquivo para seu soquete toda vez que eu fizer login. Atualmente ele usa um arquivo aleatório em uma pasta temporária, e isso está causando problemas para um serviço systemd no vagrant.
Executamos um comando para criar um arquivo env que define o local do arquivo de soquete para o systemd usar, mas ele continua mudando de local a cada login e, portanto, após provisões do vagrant, o local gravado no arquivo env mudou e não é mais válido.
Existe alguma maneira de forçá-lo a ser sempre, /etc/ssh/ssh_auth_socket
por exemplo?
Responder1
Não. Não é possível com default ssh-agent
. Ele também cria arquivos $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
conforme observado na página de manual. É para garantir que o soquete esteja seguro (não acessível apenas pelo seu usuário).
Mas você pode usar gnome-keyring
. Eles criam um soquete no /run/user/1000/keyring/ssh
, portanto ele fica em local seguro e usa o mesmo protocolo (comum em desktops Gnome).
Para que você precisa disto? Se você tiver o caminho na variável, poderá simplesmente criar .bashrc
um link simbólico do seu local "conhecido" para o local real.