![როგორ ვიპოვოთ თქვენი Android ტელეფონი თუნდაც მდუმარე რეჟიმში](/f/595ae82804634f8aeef50fc104a60022.jpg?width=100&height=100)
SSH გასაღებით დაფუძნებული ავთენტიფიკაცია (ასევე ცნობილია როგორც საჯარო გასაღების ავთენტიფიკაცია) საშუალებას იძლევა პაროლით ნაკლები ავტორიზაცია და ეს არის უფრო უსაფრთხო და ბევრად უკეთესი გამოსავალი ვიდრე პაროლის ავთენტიფიკაცია. ერთი მთავარი უპირატესობა SSH პაროლით ნაკლები შესვლაუსაფრთხოების შესახებ რომ აღარაფერი ვთქვათ, ის იძლევა სხვადასხვა სახის სერვერის პროცესების ავტომატიზაციის საშუალებას.
ამ სტატიაში ჩვენ ვაჩვენებთ, თუ როგორ უნდა შევქმნათ SSH გასაღების წყვილი და დავაკოპიროთ საჯარო გასაღები Linux– ის მრავალ დისტანციურ მასპინძელში ერთდროულად, shell სკრიპტით.
პირველ რიგში, შექმენით SSH გასაღების წყვილი (პირადი/პირადობის გასაღები, რომელსაც SSH კლიენტი იყენებს ავტორიზაციისთვის საკუთარი თავის შესვლისას დისტანციური SSH სერვერზე და საჯარო გასაღები ინახება ავტორიზებული გასაღების სახით დისტანციურ სისტემაზე, რომელიც მუშაობს SSH სერვერზე) გამოყენებით ssh-keygen ბრძანება შემდეგნაირად:
# ssh-keygen.
შემდეგი, შექმენით shell სკრიპტი, რომელიც დაეხმარება საჯარო გასაღების კოპირებას Linux– ის მრავალ დისტანციურ ჰოსტზე.
# vim ~/.bin/ssh-copy.sh.
დააკოპირეთ და ჩასვით ფაილში შემდეგი კოდი (შესაბამისად შეცვალეთ შემდეგი ცვლადები USER_NAME
- მომხმარებლის სახელი დასაკავშირებლად, HOST_FILE
- ფაილი, რომელიც შეიცავს მასპინძელთა სახელების ან IP მისამართების ჩამონათვალს და ERROR_FILE
- ფაილი ssh ბრძანების შეცდომების შესანახად).
#!/bin/bash. USER_NAME= "ფესვი"
HOST_FILE= "/root/host"
ERROR_FILE= "/tmp/ssh-copy_error.txt" PUBLIC_KEY_FILE = "$ 1" თუ [! -f $ PUBLIC_KEY_FILE]; შემდეგ ექო "ფაილი" $ PUBLIC_KEY_FILE "ვერ მოიძებნა!" გასასვლელი 1. fi თუ [! -f $ HOST_FILE]; შემდეგ ექო "ფაილი" $ HOST_FILE "ვერ მოიძებნა!" გასასვლელი 2. fi for IP `cat $ HOST_FILE`; გააკეთეთ ssh-copy-id -i $ PUBLIC_KEY_FILE[ელფოსტა დაცულია]$ IP 2> $ ERROR_FILE RESULT = $? თუ [$ RESULT -eq 0]; შემდეგ ექო "" ექო "საჯარო გასაღები წარმატებით დაკოპირდა $ IP- ში" ეხო "" სხვაგან ექო "$ (კატა $ ERROR_FILE)" ექოს გასასვლელი 3 fi ექო "" შესრულებულია.
შეინახეთ ფაილი და დახურეთ.
შემდეგ გახადეთ სკრიპტი შესრულებადი პროგრამით ჩმოდი ბრძანება როგორც ნაჩვენებია.
# chmod +x ssh-copy.sh.
ახლა გაუშვით სშ-ასლი.შ
სკრიპტი და მიუთითეთ თქვენი საჯარო გასაღების ფაილი, როგორც პირველი არგუმენტი, როგორც ეს ნაჩვენებია ეკრანის სურათში:
# ./ssh-copy.sh /root/.ssh/prod-rsa.pub.
შემდეგი, გამოიყენეთ ssh- აგენტი
თქვენი გასაღებების მართვისთვის, რომელიც ინახავს თქვენს დაშიფრულ პირად გასაღებს მეხსიერებაში და იყენებს მას ავტორიზაციისთვის. დაწყების შემდეგ ssh- აგენტი
დაამატეთ თქვენი პირადი გასაღები შემდეგნაირად:
# eval "$ (ssh -agent -s)" # ssh-add ~/.ssh/prod_rsa.
ახლა თქვენ შეგიძლიათ შეხვიდეთ თქვენს ნებისმიერ დისტანციურ მასპინძელში SSH მომხმარებლის ავტორიზაციის პაროლის მიწოდების გარეშე. ამ გზით თქვენ შეგიძლიათ ავტომატიზირება მოახდინოთ სერვერის პროცესები.
# სშ [ელფოსტა დაცულია]
ეს ყველაფერი ჩვენ გვქონდა თქვენთვის! თუ თქვენ გაქვთ რაიმე წვლილი შეტანილი სკრიპტის გაუმჯობესებაში, შეგვატყობინეთ ქვემოთ მოცემული უკუკავშირის ფორმის საშუალებით.