Scriptazgy ulanyp, uzakdaky serwerler üçin parolsyz SSH girişini guruň


SSH açar esasly tanamaklyk (köpçülige açar tanamaklyk hem diýilýär) paroly az tanamaklyga mümkinçilik berýär we parol tassyklamakdan has ygtybarly we has gowy çözgüt. SSH paroly az girmegiň esasy artykmaçlygy, howpsuzlygy goýman, dürli serwer amallaryny awtomatlaşdyrmaga mümkinçilik berýär.

Bu makalada, SSH açar jübütini nädip döretmelidigini we köpçülige açary birbada uzakdaky Linux hostlaryna gabyk skripti bilen göçürmegiň usullaryny görkezeris.

Linux-da täze SSH açary dörediň

Ilki bilen, ssh- ulanyp SSH açar jübütini dörediň (SSH müşderisiniň uzakdaky SSH serwerine gireniňizde özüni tanamak üçin ulanýan şahsy/şahsyýet açary) we ssh- ulanyp keygen buýrugy aşakdaky ýaly:

# ssh-keygen

Mulitple uzakdaky girişler üçin gabyk skriptini dörediň

Ondan soň, uzakdaky Linux hostlaryna açyk açary göçürmäge kömek etjek gabyk skriptini dörediň.

# vim ~/.bin/ssh-copy.sh

Aşakdaky kody faýlda göçüriň (aşakdaky üýtgeýänleri şoňa görä çalşyň , we ERROR_FILE - islendik ssh buýruk ýalňyşlyklaryny saklamak üçin faýl).

#!/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 [email $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

Faýly ýazdyryň we ýapyň.

Soňra görkezilişi ýaly chmod buýrugy bilen skripti ýerine ýetirip bilersiňiz.

# chmod +x ssh-copy.sh

Indi ssh-copy.sh skriptini işlediň we açar faýlyňyzy skrinshotda görkezilişi ýaly ilkinji argument hökmünde görkeziň:

# ./ssh-copy.sh /root/.ssh/prod-rsa.pub

Ondan soň, şifrlenen şahsy açaryňyzy ýatda saklaýan we girişleri tassyklamak üçin ulanýan açarlaryňyzy dolandyrmak üçin ssh-agent ulanyň. ssh-agent açanyňyzdan soň, şahsy açaryňyzy aşakdaky ýaly goşuň:

# eval "$(ssh-agent -s)"
# ssh-add  ~/.ssh/prod_rsa

Uzak Linux Serwerine parolsyz giriň

Indi SSH ulanyjysynyň hakykylygyny tassyklamak üçin parol bermezden uzakdaky islendik hostyňyza girip bilersiňiz. Şeýlelik bilen, serwerden geçýän amallary awtomatlaşdyryp bilersiňiz.

# ssh [email 

Bu siziň üçin bar zat! Esasanam gabyk skriptini gowulaşdyrmak üçin goşant goşýanlaryňyz bar bolsa, aşakdaky seslenme formasy arkaly bize habar beriň.