SSH Anahtar tabanlı kimlik doğrulama (ortak anahtar kimlik doğrulaması olarak da bilinir), parolasız kimlik doğrulamaya izin verir ve parola kimlik doğrulamasından daha güvenli ve çok daha iyi bir çözümdür. SSH şifresiz oturum açmanın en büyük avantajlarından biri , çeşitli türlerde sunucular arası işlemlerin otomasyonuna izin vermesidir.
Bu yazıda, bir SSH anahtar çiftinin nasıl oluşturulacağını ve ortak anahtarı bir komut satırı dosyasıyla aynı anda birden çok Linux sunucuya kopyalamayı göreceğiz.
İlk olarak, ssh- keygen komutu aşağıdaki gibidir:
# ssh-keygen
Çoklu Uzaktan Oturum Açma İşlemleri için Betik Oluşturma
Ardından, bir ortak anahtarın birden çok Linux sunucuya kopyalanmasına yardımcı olacak bir komut dosyası oluşturalım.
# vim ~ / .bin / ssh-copy.sh
Aşağıdaki kodu kopyalayıp dosyaya yapıştırın (aşağıdaki değişkenleri uygun şekilde değiştirin USER_NAME
– bağlanılacak kullanıcı adı, HOST_FILE
– sunucu isimleri veya IP adresleri listesi, ERROR_FILE
– ssh komutu hatasını depolamak için bir dosya).
#!/bin/bash USER_NAME="root" HOST_FILE="/root/hosts" ERROR_FILE="/tmp/ssh-copy_error.txt" PUBLIC_KEY_FILE="$1" if [ ! -f $PUBLIC_KEY_FILE ]; then echo "File '$PUBLIC_KEY_FILE' not found!" exit 1 fi if [ ! -f $HOST_FILE ]; then echo "File '$HOST_FILE' not found!" exit 2 fi for IP in `cat $HOST_FILE`; do ssh-copy-id -i $PUBLIC_KEY_FILE $USER_NAME@$IP 2>$ERROR_FILE RESULT=$? if [ $RESULT -eq 0 ]; then echo "" echo "Public key successfully copied to $IP" echo "" else echo "$(cat $ERROR_FILE)" echo exit 3 fi echo "" done
Dosyayı kaydedin ve kapatın.
Ardından, chmod komutuyla komut dosyasını gösterildiği gibi çalıştırılabilir hale getirin .
# chmod + x ssh-copy.sh
Şimdi ssh-copy.sh
komut dosyasını çalıştırın ve ekran görüntüsünde gösterildiği gibi ilk bağımsız değişken olarak ortak anahtar dosyanızı belirtin:
# ./ssh-copy.sh /root/.ssh/prod-rsa.pub
Ardından, anahtarlarınızı yönetmek için ssh-agent ‘ı kullanın. Ssh-agent, deşifre edilmiş özel anahtarınızı bellekte tutar ve oturum doğrulamaları için kullanır. Aşağıdaki komut ile özel anatarınızı ekleyebilirsiniz:
# eval "$ (ssh-agent -s)" # ssh-add ~ /.ssh/prod_rsa
Uzak Linux Sunucusuna Parola olmadan giriş yapın
Artık, SSH kullanıcı kimlik doğrulaması için bir parola sağlamadan uzak sunucularınızda oturum açabilirsiniz. Bu şekilde, sunucular arası işlemleri otomatikleştirebilirsiniz.
# ssh [email protected]
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.