ssh-copy-id komutu, uzaktaki bir sunucunun yetkili anahtarlarına bir SSH anahtarı yüklemenize izin veren basit bir araçtır. Bu komut, her oturum açma için parola gereksinimini ortadan kaldıran ve böylece parolasız, otomatik oturum açma işlemi sağlayan SSH anahtar oturum açma işlemini kolaylaştırır. ssh-copy-id komutu, şifreli SSH bağlantıları kullanarak uzaktan sistem yönetimi gerçekleştirmeye yönelik bir araç olan OpenSSH'nin bir parçasıdır.
Bu makale, SSH girişlerinizi daha sorunsuz ve güvenli hale getirmek için ssh-copy-id aracını nasıl kullanacağınızı gösterir.
ssh-copy-id Komutu Nasıl Yüklenir
OpenSSH paketinin bir parçası olan ssh-copy-id aracı, tüm büyük Linux dağıtım havuzlarında bulunur ve bu komutu yüklemek için paket yöneticinizi kullanabilirsiniz.
Debian'a ssh-copy-id aracını kurmak için aşağıdaki komutu kullanın:
sudo apt-get güncelleme && sudo apt-get install openssh-clientOpenSSH'yi kurduktan sonra, komut satırında ssh-copy-id aracını kullanabilirsiniz.
$ ssh-kopya-kimliğiKullanım: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [kimlik_dosyası]] [-p bağlantı noktası] [[-o
ssh-copy-id'yi kullanmak basittir çünkü komut dosyası, ortak anahtar kimlik doğrulama sürecini daha kolay ve daha verimli hale getirir. Aracın nasıl kullanılacağına dalmadan önce, ilk olarak SSH ortak anahtar kimlik doğrulamasının nasıl çalıştığını tartışacağız.
NOT: SSH ortak anahtar kimlik doğrulamasının nasıl çalıştığını zaten biliyorsanız, bu kısmı atlamaktan çekinmeyin ve ssh-copy-id komutunun nasıl kullanılacağına hemen dalın.
SSH Ortak Anahtar Kimlik Doğrulaması
Genel SSH anahtar kimlik doğrulaması, kullanıcıların uzak sunucularda oturum açmak için kriptografik olarak oluşturulmuş anahtarları kullanmasına izin veren bir SSH kimlik doğrulama yöntemidir.
SSH anahtarları, ham parolalardan daha güvenlidir ve SSH'ye giriş yapmak için çok daha verimli bir yol sağlar. SSH anahtarları otomatiktir ve yetkilendirildikten sonra her oturum açmada parola gerektirmez.
Bir SSH anahtarı kullanmak için bir anahtar oluşturarak başlayacağız.
SSH Anahtarı Nasıl Oluşturulur
Bir SSH anahtarı oluşturmak için OpenSSH'nin bir parçası olarak gelen ssh-keygen aracını kullanın. Bu araç, ~/ dizininde depolanan genel ve özel anahtar dosyalarını oluşturur.ssh dizini, aşağıda gösterildiği gibi.
$ ssh-keygenGenel/özel rsa anahtar çifti oluşturuluyor.
Anahtarın kaydedileceği dosyayı girin (/root/.ssh/id_rsa):
'/root/ dizini oluşturuldu.ssh'.
Parola girin (parola yoksa boş):
Aynı parolayı tekrar girin:
Kimliğiniz /root/ dizinine kaydedildi.ssh/id_rsa.
Genel anahtarınız /root/ dizinine kaydedildi.ssh/id_rsa.bar.
Anahtar parmak izi:
SHA256:ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ+gI24DptsA root@user Anahtarın rastgele resim görüntüsü:
+---[RSA 2048]----+
| o=o |
| Ö. o|
| … + .+.|
| . + + Ö .o|
| S + . . |
|. o … o o + .|
|.E o +. +. + + |
|o. = o.Ö+ .Ö.+… |
|.o… oo=+ o=o.+|
+----[SHA256]-----+
SSH-copy-id Kullanarak SSH Anahtarı Nasıl Kopyalanır
Bir SSH anahtarı oluşturduğumuzda, SSH anahtarını uzaktaki makine yetkili_anahtarları dosyasına manuel olarak ekleyebilir veya ssh-copy-id komutunu kullanabiliriz.
Bu işlemi kolaylaştırmak için ssh-copy-id komutunu kullanacağız. Basitçe ssh-copy-id komutunu çağırın ve yolu aşağıdaki gibi ortak anahtara iletin:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub kullanıcısı@77.134.54.101 -p 6576Yukarıdaki komutu girdikten sonra aşağıdaki çıktıyı almalısınız:
/usr/bin/ssh-copy-id: BİLGİ: Kurulacak anahtar(lar)ın kaynağı: "/root/.ssh/id_rsa.bar"/usr/bin/ssh-copy-id: BİLGİ: önceden kurulmuş olanları filtrelemek için yeni anahtar(lar)la oturum açmaya çalışılıyor
/usr/bin/ssh-copy-id: BİLGİ: Yüklenecek 1 anahtar kaldı -- şimdi istenirse, user@77 yeni anahtarları yüklemeniz gerekir.134.54.101'in şifresi:
Eklenen anahtar(lar)ın sayısı: 1 Şimdi makinede şu şekilde oturum açmayı deneyin: "ssh -p '6576"[email protected]'" ve yalnızca istediğiniz anahtar(lar)ın eklendiğinden emin olmak için kontrol edin.
NOT: Özel anahtarınızı asla başka bir makineye kopyalamayın.
Komut başarıyla yürütüldüğünde, yüklediğiniz anahtarı kullanarak sunucuda aşağıdaki gibi oturum açmayı deneyin:
$ ssh -p 6576 [email protected]Yukarıdaki komut, aşağıdaki çıktıda gösterildiği gibi ortak anahtarınız için parolayı girmenizi gerektirecektir:
'/root/ anahtarı için parola girin.ssh/id_rsa':Son giriş: 5 Mart Cuma 14:06:16 2021, 173.208.98.186
Yukarıdaki komut, kullanıcının parolasını sormadan uzak ana bilgisayarda oturum açmanıza izin vermelidir. Sistem, daha önce kurduğunuz anahtarın parolasını girmenizi isteyebilir.
SSH-kopya-kimliği Komut Seçenekleri
Sağlanan bağımsız değişkenleri kullanarak ssh-copy-id komutunun nasıl çalıştığını değiştirebilirsiniz. Yardım sayfasını görüntülemek için ssh-copy-id -h komutunu kullanın veya argüman olmadan ssh-copy-id komutunu kullanın.
- -tartışırım: Bu argüman kullanılacak kimlik dosyasını belirtir, i.e., belirtilen uzak ana bilgisayara kopyalandı. -i bağımsız değişkenini belirtmezseniz, ~/ dizinindeki tüm dosyalar.eşleşen desene sahip ssh dizini *.pub eklenecek.
- -f bayrağı: Bu bayrak, anahtarın sunucudaki yetkili_anahtarlarda önceden yapılandırılıp yapılandırılmadığını kontrol etmeyen zorunlu modu etkinleştirir. -f bayrağı bir anahtar ekler ve genellikle aynı anahtarın sunucuda birden çok kopyasının yüklenmesiyle sonuçlanır.
- -p bayrağı: Bu bayrak, uzak ana bilgisayara bağlanmak için SSH bağlantı noktasını belirtir. Bu bayrak, varsayılan SSH bağlantı noktası kullanılmadığında kullanılır.
- -n bayrağı: Bu bayrak, kurulum için amaçlanan anahtarları uzak ana bilgisayara kurmadan yazdıran bir kuru çalıştırma gerçekleştirir.
Sonuç
Bu kılavuz, uzak ana bilgisayarlara SSH anahtarlarını yüklemek için ssh-copy-id komutunun nasıl kullanılacağını gösterdi. Bu, anahtarları yüklemek için basit ve etkili bir yöntem olsa da, yanlış yapılandırılmış anahtarlar güvenlik sorunlarına veya sistemin kilitlenmesine neden olabilir. Bu nedenle, bu işlemi denerken son derece dikkatli olun.