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-agent
oturum 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_wm
göre ssh-agent my_favorite_wm
.
Başlamayın ssh-agent
gelen .bashrc
veya .zshrc
bu dosyalar her yeni interaktif kabuk tarafından yürütülür beri. Başlanacak yer veya ssh-agent
gibi 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 ~/.Xclients
olarak 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-common
ne 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-common
yapar).
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.