ssh anahtarları ssh-agent bash ve ssh-add


26

Ben ssh anahtarları için yeni. Herkes nasıl açıklayabilir ssh-agent bashve ssh-addeserleri?

Gelecekte iç organlarını anlamam gerek.


Google'ın bu şartların herhangi biri için en çok isabet edeni denedin mi?
Daniel Beck

Evet yaptım. Hiç yararlı bilgi alamadım. Benim fena
maneeshshetty 16:11

Yanıtlar:


41

Bir ajan sadece onları kilidini gerektiğini, böylece bellekte anahtarlarınızı tutan bir programdır kez yerine her zaman. ssh-agent bunu SSH anahtarları için yapar.

Ssh-agent'ı başlatmak için genel yöntemler şunlardır:

  • eval `ssh-agent`- bu, aracıyı arka planda çalıştırır ve mevcut kabuk örneği için uygun ortam değişkenlerini ayarlar .

    ( ssh-agent , argüman olmadan başladığında, kabuğunuz tarafından yorumlanacak komutları çıkarır.)

  • exec ssh-agent bash- geçerli olanın yerine yeni bir bashkabuk örneği başlatır .

    (Bir veya daha fazla argümanla, ssh-agent hiçbir şey çıkarmaz, ancak belirtilen komutu başlatır: bu durumda bashkabuk, ancak teknik olarak herhangi bir şey olabilir.)

    İkinci yöntem, bazen, terminal penceresini kapattığınızda otomatik olarak ssh-ajanı öldürdüğü için tercih edilir. (Başladığında eval, aracı çalışmaya devam eder, ancak erişilemez.)

Ancak, bu yalnızca boş bir aracı başlatır. Gerçekten kullanışlı olması için , anahtarlarınızı (genellikle ) kilidini açan ve onları araca yükleyerek ssh veya sftp bağlantılarına erişilebilir kılan ssh-add kullanmanız gerekir .~/.ssh/id_*


1
Bir defada birden fazla bash oturumunda ssh-agent'ı başlatmanın bir yolu var mı?
Asim

8

Ek olarak, oturum başlangıcında bazı anahtarlar eklemek isteyebilirsiniz.

Senin düzenleyin ~/.bashrcdosyası ve ekleyin:

ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null  # start ssh-agent if not present
[ $? -eq 0 ] && {                                     # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null        # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null        # Load key 2
}

İle anahtarlarınızı kontrol edin ssh-add -l

Geçerli ssh-agent oturumunu ile durdurabilirsiniz. ssh-agent -k

Ssh-agent ve .bashrc hakkında bilmeniz gereken bir şey çok fazla anahtar yüklemiyor. SSH cini için denemeden varsayılan sayısı 6'ya Bu modifiye edilmiş olabilir sınırlıdır /etc/ssh/sshd_configile MaxAuthTriesdeğer.


1
ssh-add"&" İle başlatırken özel anahtar şifresinden ne haber ? Özel anahtar dosyalarının korumasız olduğunu varsayıyor musunuz?
Luciano

Yukarıdaki kod iki kez, ssh-agent olup olmadığını kontrol ederken bir kez ve bir kez de özel anahtar yüklendiğinde parolayı ister.
Tapan Chandra,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.