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ň.