2008-09-17 21 views
44

ssh, anahtarlarını varsayılan olarak ~/.ssh klasöründe arar. Her zaman başka bir yere bakmaya zorlamak istiyorum.Varsayılan ssh anahtar konumunu ayarlama

kullanıyorum geçici çözüm ajana standart dışı konumdan anahtarlarını eklemektir:

ssh-agent 
ssh-add /path/to/where/keys/really/are/id_rsa 

(Windows, Linux ve mingw32 kabuk üzerine)

+0

btw, neden bunu yapmak istediğimden dolayı anahtarlarımı Dropbox'ta tutabileyim. – tardate

+3

Symlinks'e atlayabilir misin? –

+7

@tardate, hmm, anahtarlarınızla güvenilen dropbox tehlikeli görünüyorsa, şifreyle onları iyi koruyamadığınız sürece ... – gatoatigrado

cevap

71

, aşağıdaki girişi ile ~/.ssh/config dosyasını değiştirebilirsiniz:

IdentityFile ~/.foo/identity 

man ssh_config diğer bulmak için yapılandırma seçenekleri.

+3

Ayrıca, bu parametreyi birden çok tuş için birden çok kez listeleyebileceğinizi de unutmayın. Ancak, çok fazla anahtar (genellikle> 4) listelemek, anahtarınızın geçerli olmadığı sistemlerde parola sormadan önce yetkinin başarısız olmasına neden olabilir. ssh-agent veya anahtarlık (http://www.gentoo.org/proj/en/keychain/) burada yararlıdır. – jmanning2k

+0

ssh anahtarlarınız için parola korumalı iseniz, ssh-private-key'inizi ssh etmeniz daha iyi olur, aksi halde anahtarın parolasını sormak her zaman –

+0

Bu satırı, yapılandırmanın başlangıcına eklemek zorunda kaldım. Sonuna kadar eklemek işe yaramadı. – SebK

14

man ssh bana bu seçenek sunar yararlı olabilirdi.

-i identity_file RSA veya DSA kimlik doğrulaması için bir kimlik (özel anahtar) okunduğu bir dosya seçer. Varsayılan, protokolü sürüm 1 ve// .ssh/id_rsa ve ~/.ssh/id_dsa için tocol sürüm 2 için ~/.ssh/identity değeridir. Kimlik dosyaları, her bir ana bilgisayar temelinde belirtilebilir. yapılandırma dosyasında. çoklu -i seçeneklerine (ve config- aktarım dosyalarında belirtilen birden çok kimlik) sahip olmak mümkündür.

Yani ben bakmadım

takma SSH gibi bir şey = "/ private_key için ssh -i/yol /" ile bash yapılandırmasında bir takma ad oluşturabilir bir ssh yapılandırma dosyası içine, ama -i seçenek gibi bu çok

-F configfilead verilmiş olabilir 10 Kullanıcı başına alternatif bir yapılandırma dosyası belirtir. Komut satırında bir con- şekil dosyası verilirse, sistem genelinde yapılandırma dosyası (/ etc/ssh/ssh_config) dikkate alınmaz. Kullanıcı başına yapılandırma dosyası için varsayılan , ~/.ssh/config şeklindedir. Yalnızca size kimlik dosyası için farklı bir konuma işaret edecek arıyorsanız

-5

Dosyanın konumu, "authorized_keys" adıyla /root/.ssh dizinidir, genellikle güvenlik nedenleriyle gizlenmiştir.* puTTy ve komut satırını kullanırsanız, aşağıdakileri kullanın: #cd ~/.ssh ve vi editor ile "authorized_keys" dosyasını düzenleyin. Ayrıca bkz. #man ssh_config daha fazla seçenek sağlayacaktır (gerekirse) Bu yardımcı olur umarım.

+0

Bu, soruya bir cevap vermemektedir. Bir yazarın eleştirisini veya açıklamasını istemek için, gönderilerinizin altında bir yorum bırakın. Her zaman kendi gönderilerinize yorum yazabilirsiniz ve yeterli sayıda [ününüzü] aldıktan sonra (http://stackoverflow.com/help/whats-reputation) [herhangi bir yayına yorum yapabilir] (http://stackoverflow.com/help/privileges/comment). – Kenster

+0

@Kenster: Hangi şekilde bir cevap değil? –

+1

@LightnessRacesinOrbit Soru, ssh istemcisinin başka bir konumdan anahtarları okumasını sağlamaktır. Bu cevaptaki hiçbir şey buna cevap vermez. _authorized_keys_ istemciden değil, _server_ tarafından okunur ve _client_'ın anahtarlarını aradığı yeri değiştirecek hiçbir değişiklik yapamazsınız. Bu dosyayı düzenlemek için iyi bir neden olsa bile, cevap neden onu düzenlemek ya da yapmak için değişiklik yapıldığını söylemez. Bir şeyin bir cevap olup olmadığına karar verirken cömert olmamız gerektiğini biliyorum. Ancak bu "cevap" en iyi ssh ile ilgili genel metin paragrafıdır. – Kenster

İlgili konular