Yanıtlar:
Grafiksel bir oturumda oturum açıyorsanız ssh-agent, oturum başlangıcında başlaması için düzenleme yapın . Bazı dağıtımlar zaten bunu sizin için yapıyor. Sizinki değilse, ssh-agentoturum başlangıç komut dosyanızdan veya pencere yöneticinizden çalıştırmak için düzenleme yapın . Bunun nasıl yapılacağı masaüstü ortamınıza ve pencere yöneticinize bağlıdır. El pencere yöneticisini başlatmak Örneğin, sadece çağrısına yerine my_favorite_wmgöre ssh-agent my_favorite_wm.
Başlamayın ssh-agentgelen .bashrcveya .zshrcbu dosyalar her yeni interaktif kabuk tarafından yürütülür beri. Başlanacak yer veya ssh-agentgibi bir oturum başlatma dosyasında ..profile.xsession
Nerede oturum açmış olursanız olun, tüm işlemlerde aynı SSH aracısını kullanmak istiyorsanız, rastgele adlandırılmış bir soket kullanmak yerine her zaman aynı soket adını kullanmasını sağlayabilirsiniz. Örneğin, bunu içine koyabilirsiniz ~/.profile:
export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi
Muhtemelen bu amaç için tasarlanan Keychain gibi bir program istiyorsunuz . Man sayfasından:
DESCRIPTION
keychain is a manager for ssh-agent, typically run from ~/.bash_profile.
It allows your shells and cron jobs to share a single ssh-agent process.
Masaüstü ortamınıza veya pencere yöneticinize uygulayın. Bunu geçmişte bir el ile özel ~/.Xclientsolarak yaptığımda, bunu sadece son satır olarak kullandım:
ssh-agent mywindowmanger
Bunun için kendi kurulum seçeneklerine sahip bazı DE'ler olabilir, ancak bana öyle geliyor ki (örn.) KDE bunu yapmıyor. Şu anda, benim kod üzerinden çalıştırılan görünüyor /etc/X11/xinit/xinitrc-commonne olursa olsun DE / WM tüm kullanıcılar için aktif ve üst süreç komut olduğundan, (fötr tarafından yapılan tahminen bir şey) $HOME/.Xclients, ama bu dosya başvurusu yok ssh-agent(oysa /etc/X11/xinit/xinitrc-commonyapar).
Eğer a'nız yoksa ~/.Xclients, sadece bir satırda bir tane oluşturabilirsiniz, ancak DE / WM'inizi başlatan komutu bilmeniz gerekecektir.
$? -ge 2, çıkış kodu 1, ssh aracısının anahtarı yok, ancak ssh aracısı zaten çalışıyor olmasıdır.