Issettja l-Login SSH mingħajr password għal servers mill-bogħod multipli bl-użu ta' Script
L-awtentikazzjoni SSH bbażata fuq iċ-ċavetta (magħrufa wkoll bħala awtentikazzjoni taċ-ċavetta pubblika) tippermetti awtentikazzjoni mingħajr password u hija soluzzjoni aktar sigura u ħafna aħjar mill-awtentikazzjoni tal-password. Vantaġġ ewlieni tal-login SSH mingħajr password, aħseb u ara s-sigurtà huwa li jippermetti l-awtomazzjoni ta 'diversi tipi ta' proċessi bejn is-server.
F'dan l-artikolu, aħna ser nuru kif toħloq par ta 'ċavetta SSH u tikkopja ċ-ċavetta pubblika għal hosts Linux remoti multipli f'daqqa, bi skript tal-qoxra.
Oħloq Ċavetta SSH Ġdida fil-Linux
L-ewwel, iġġenera l-par taċ-ċwievet SSH (iċ-ċavetta privata/identità li klijent SSH juża biex jawtentika lilu nnifsu meta jidħol f'server SSH remot u ċ-ċavetta pubblika maħżuna bħala ċavetta awtorizzata fuq sistema remota li tħaddem server SSH) billi tuża ssh- kmand keygen kif ġej:
# ssh-keygen
Oħloq Shell Script għal Multiple Remote Logins
Sussegwentement, oħloq skript tal-qoxra li jgħin biex tikkopja ċavetta pubblika għal hosts Linux remoti multipli.
# vim ~/.bin/ssh-copy.sh
Ikkopja u waħħal il-kodiċi li ġej fil-fajl (issostitwixxi l-varjabbli li ġejjin kif xieraq USER_NAME
– l-isem tal-utent biex tikkonnettja miegħu, HOST_FILE
– fajl li fih il-lista tal-ismijiet tal-host jew l-indirizzi IP , u ERROR_FILE
– fajl biex jaħżen kwalunkwe żball tal-kmand 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
Issejvja l-fajl u agħlaqha.
Imbagħad agħmel l-iskrittura eżekutibbli bil-kmand chmod kif muri.
# chmod +x ssh-copy.sh
Issa mexxi l-iskrittura ssh-copy.sh
u speċifika l-fajl taċ-ċavetta pubblika tiegħek bħala l-ewwel argument kif muri fil-screenshot:
# ./ssh-copy.sh /root/.ssh/prod-rsa.pub
Sussegwentement, uża ssh-agent
biex timmaniġġja ċ-ċwievet tiegħek, li żżomm iċ-ċavetta privata decrypted tiegħek fil-memorja u tużaha biex tawtentika l-logins. Wara li tibda l-ssh-agent
, żid iċ-ċavetta privata tiegħek magħha kif ġej:
# eval "$(ssh-agent -s)" # ssh-add ~/.ssh/prod_rsa
Idħol f'Remote Linux Server mingħajr Password
Issa tista' tidħol fi kwalunkwe mill-hosts remoti tiegħek mingħajr ma tipprovdi password għall-awtentikazzjoni tal-utent SSH. B'dan il-mod, tista 'awtomatizza proċessi bejn is-server.
# ssh [email
Dak kollu kellna għalik! Jekk għandek xi kontribuzzjoni(jiet) x'tagħmel partikolarment lejn it-titjib tal-iskript tal-qoxra, għarrafna permezz tal-formola ta' feedback hawn taħt.