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, ssh
bir ş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.012
Bu kopyayı gerçekleştirmek için şifreyi girmeniz gerekecek , ancak bu en son yapmanız gereken şey bu olmalı. Uzak sunucunun sshd
genel-özel anahtar kimlik doğrulaması yapması gerektiğini varsayarsak, şimdi kutuya ssh gönderdiğinizde root
hesap 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-agent
makinenizdeki 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-agent
yeniden 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_config
ve ş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.