Ṣeto Wiwọle iwọle SSH ti ko ni ọrọigbaniwọle fun Awọn olupin latọna jijin Lilo Lilo Iwe afọwọkọ


Ijẹrisi orisun Koko-ọrọ SSH (eyiti a tun mọ gẹgẹbi ijẹrisi bọtini-gbangba) gba laaye fun ijẹrisi ti ko ni ọrọ igbaniwọle ati pe o ni aabo diẹ sii ati ojutu ti o dara pupọ ju ijẹrisi ọrọ igbaniwọle lọ. Anfani pataki kan ti iwọle iwọle ọrọigbaniwọle SSH, jẹ ki aabo nikan ni pe o gba laaye adaṣiṣẹ ti ọpọlọpọ awọn iru awọn ilana lakọkọ olupin.

Ninu àpilẹkọ yii, a yoo ṣe afihan bii a ṣe le ṣẹda bata bọtini SSH kan ati daakọ kọkọrọ ti gbogbogbo si awọn ogun Linux jijin pupọ ni ẹẹkan, pẹlu iwe afọwọkọ ikarahun kan.

Ṣẹda Bọtini SSH Tuntun ni Lainos

Ni akọkọ, ṣe agbejade bata bọtini SSH (bọtini ikọkọ/idanimọ ti alabara SSH nlo lati jẹrisi ararẹ nigbati o wọle si olupin SSH latọna jijin ati bọtini gbangba ti o fipamọ bi bọtini aṣẹ lori eto latọna jijin ti nṣiṣẹ olupin SSH) ni lilo ssh- aṣẹ keygen bi atẹle:

# ssh-keygen

Ṣẹda Ikarahun Ikarahun kan fun Awọn Wiwọle Latọna Mulitple

Itele, ṣẹda iwe afọwọkọ ikarahun kan ti yoo ṣe iranlọwọ ni didakọ bọtini bọtini gbogbogbo si awọn ogun Linux jijin pupọ.

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

Daakọ ati lẹẹ mọ koodu atẹle ninu faili naa (rọpo awọn oniyipada atẹle wọn ni ibamu si USER_NAME - orukọ olumulo lati sopọ pẹlu, HOST_FILE - faili kan eyiti o ni atokọ ti awọn orukọ orukọ tabi awọn adirẹsi IP ni. , ati ERROR_FILE - faili kan lati tọju eyikeyi awọn aṣiṣe aṣẹ ssh).

#!/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

Fipamọ faili naa ki o pa.

Lẹhinna jẹ ki iwe afọwọkọ ṣiṣẹ pẹlu aṣẹ chmod bi o ti han.

# chmod +x ssh-copy.sh

Bayi ṣiṣe ssh-copy.sh iwe afọwọkọ ki o ṣalaye faili bọtini gbangba rẹ bi ariyanjiyan akọkọ bi o ṣe han ninu sikirinifoto:

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

Nigbamii, lo ssh-agent lati ṣakoso awọn bọtini rẹ, eyiti o mu bọtini ikọkọ ti o kọ silẹ ninu iranti ati lo o lati jẹrisi awọn iwọle. Lẹhin ti o bẹrẹ ni ssh-agent , fi bọtini ikọkọ rẹ si bi atẹle:

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

Wọle si olupin Linux latọna jijin laisi Ọrọigbaniwọle

Bayi o le wọle sinu eyikeyi awọn ogun jijin rẹ laisi pese ọrọ igbaniwọle kan fun ijẹrisi olumulo SSH. Ni ọna yii, o le ṣe adaṣe awọn ilana lakọkọ olupin.

# ssh [email 

Iyẹn ni gbogbo ohun ti a ni fun ọ! Ti o ba ni ilowosi (awọn) eyikeyi lati ṣe ni pataki si imudarasi iwe afọwọkọ ikarahun, jẹ ki a mọ nipasẹ fọọmu esi ni isalẹ.