Genel anahtarınızı uzaktaki makinelere kopyalayabilirsiniz. Ortak anahtar kimlik doğrulaması etkin olduğu ve ortak anahtarınız uzaktaki makinede bulundukları sürece, sshbir şifre sağlamak zorunda kalmadan makinelere yapabilirsiniz.
Öncelikle şöyle bir kamu / özel keypair oluşturmanız gerekir:
ssh-keygen -t rsa
Komutları takip edin. Bir parola ile anahtarı korumak isteyip istemediğinizi sorduğunda YES! Anahtarlarınızı şifreyle korumamak kötü bir uygulamadır ve arada bir şifreyi nasıl girmeniz gerektiğini size göstereceğim.
Zaten tuş takımınız varsa, yukarıdaki adımı atlayabilirsiniz.
Şimdi, ssh anahtarınızın Mac'inizde bulunduğunu varsayarsak, ~/.ssh/id_rsa.pubçalıştırarak uzak bir makineye yükleyebilirsiniz:
cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Yukarıda belirtilen belirli sunucu örneğiniz için komut şöyle görünür:
cat ~/.ssh/id_rsa.pub | ssh -p 2200 root@123.456.789.012 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
root@123.456.789.012Bu kopyayı gerçekleştirmek için şifreyi girmeniz gerekecek , ancak bu en son yapmanız gereken şey bu olmalı. Uzak sunucunun sshdgenel-özel anahtar kimlik doğrulaması yapması gerektiğini varsayarsak, şimdi kutuya ssh gönderdiğinizde roothesap için bir parola sormamalı - bunun yerine sizden anahtarınızın şifresini isteyecektir . Her zaman girmeniz gerekmeyen bir şeyi nasıl yapacağınızı okuyun.
Parola yerine tuşlarınızla girmek istediğiniz her makine için yukarıdakileri tekrarlayın.
Unutmayın, dosyanızı ele geçiren herkes , uzaktaki makineye bir şifre vermeden ~/.ssh/id_rsa, bu makineye erişebilir root. Anahtar dosyasını koruyan parola, bu anahtarın kullanması için parolayı bilmeleri gerekir. Bu dosyanın güvenli olduğundan emin olun. Mac'inizde disk şifreleme kullanın ve dosya ve ~/.ssh/dizin üzerindeki izinleri sıkı tutun .
Her seferinde şifreyi girmek zorunda kalmadan anahtarı kullanmayı kolaylaştırmak için, OS X ssh-agentmakinenizdeki arka planda bir işlem yürütür . Bu aracı ilk kez kullandığınızda tuş takımını önbelleğe alır, böylece yalnızca bir kez şifrenizi girmeniz gerekir. Mac'inizi yalnızca uyursanız, asla yeniden başlatmazsanız, şifrenizi girmenize gerek kalmadan uzun süre çalışabilirsiniz.
Tüm SSH anahtarlarınızı aşağıdakileri ssh-agentçalıştırarak önbelleğe alabilirsiniz :
ssh-add
Artık birçok farklı hesap şifresini değil, sadece ana şifreyi hatırlamanız gerekiyor . Anahtar şifrelerimi genellikle 1Password'de (bağlı değil) saklıyorum , daha fazla hatırlamam gereken şifreleri daha da basitleştiriyorum. Sonra onları sadece 1Password'de aradım ve Mac'imi ssh-agentyeniden başlattığım ve çalışmamın yeniden başlatılmasına neden olduğum tuhaf bir zaman dilimini kesip yapıştırın .
Anahtarınızı uzak makinelere kopyalamayı, bu sorudaki Terminal.app bağlantı yönetimi çözümü ile birleştirirseniz , GUI bağlantısı deneyimi için PuTTY'ye çok yakın bir şey elde edersiniz.
Sunucu tarafında aşağıdakileri kontrol edin /etc/ssh/sshd_configve şunlardan emin olun:
PubkeyAuthentication yes
yapılandırmada etkin (varsayılan olarak OpenSSH’de). Ayrıca ayarlamak isteyebilirsiniz:
PasswordAuthentication no
Oradayken parola tabanlı kimlik doğrulama devre dışı bırakılır ve makineye erişmenin tek yolu anahtarlar olur.
Yapılandırma dosyasında herhangi bir değişiklik yaparsanız, makinede sshd'yi yeniden başlatmanız gerekir.