Linux სერვერთან დაკავშირების ძირითადი გზაა SSH პროტოკოლი. ამ ტიპის კავშირი უსაფრთხოა, რადგან მისი მეშვეობით გადაცემული ყველა მონაცემი დაშიფრულია. იმისათვის to SSH კავშირის დამყარება თქვენ უნდა დააკონფიგურიროთ ის დისტანციურ სერვერზე, რომელთანაც გსურთ დაკავშირება და კლიენტი მომხმარებლის მხარეს. არსებობს უამრავი პროგრამული უზრუნველყოფა SSH კავშირისთვის. რაც შეეხება Linux-ს, OpenSSH პაკეტი ყველაზე პოპულარულია და Windows-ისთვის ადამიანები ძირითადად PuTTY-ს იყენებენ.
მოდით უფრო ახლოს მივხედოთ სერვერის კონფიგურაციას Ubuntu Server 18.04-ის გამოყენებით, როგორც მაგალითი და შემდეგ შევეცადოთ სერვერთან დაკავშირება Linux-იდან და Windows-იდან.
ყველაფერი, რასაც ჩვენ ვაკეთებთ, იქნება ჩვეულებრივი მომხმარებლის ანგარიშიდან. ამ შემთხვევაში ჩვენ შევქმენით მომხმარებელი "მიჰაილ”, და”root” ანგარიში ნაგულისხმევად გამორთულია.
სერვერის დაყენება
დააყენეთ პაკეტი ამ ბრძანებით:
sudo apt install openssh-server
ინსტალაციის დასრულების შემდეგ, დარწმუნდით, რომ სერვისი მუშაობს. გამოიყენეთ ეს ბრძანება:
systemctl status sshd
სტატუსი "აქტიური (გაშვებული)” ნიშნავს, რომ სერვისი ჩართულია და მუშაობს ნორმალურად.
იმისათვის, რომ თავიდან აიცილოთ შემომავალი კავშირების დაბლოკვა Firewall-ის მიერ, დარწმუნდით, რომ გამორთეთ იგი, რადგან ამ სტატიაში ჩვენ არ ვაპირებთ ქსელის firewall-ის კონფიგურაციას.
გამოიყენეთ ეს ბრძანება:
sudo ufw disable
ამ ეტაპზე უკვე შეგიძლიათ სერვერთან დაკავშირება. ნაგულისხმევი პარამეტრების სერვერი საშუალებას გაძლევთ დაუკავშირდეთ სტანდარტულ პორტ 22-ს პაროლზე დაფუძნებული ავთენტიფიკაციით.
SSH კავშირი Linux-დან
როგორც წესი, OpenSSH კლიენტი დაინსტალირებულია Linux-ზე ნაგულისხმევად და არ საჭიროებს დამატებით მექანიკურ კონფიგურაციას. კავშირის დამყარება შესაძლებელია ტერმინალიდან ssh ბრძანების დახმარებით. პარამეტრები ამ შემთხვევაში იქნება მომხმარებლის სახელი და დისტანციური სერვერის IP მისამართი. ჩვენს სატესტო სერვერზე, რომელსაც ჩვენ ვიყენებთ, როგორც მაგალითი, არის მხოლოდ ერთი ანგარიში „mihail“, ამიტომ ჩვენ ამას გამოვიყენებთ.
ssh [email protected]
პირველ კავშირში თქვენ მოგიწევთ დაადასტუროთ სერვერის საჯარო გასაღების მონაცემთა ბაზაში დამატება, ამიტომ უპასუხეთ ”დიახამის შემდეგ შეგიძლიათ შეიყვანოთ პაროლი. თუ კავშირი წარმატებით განხორციელდა, დაინახავთ სერვერის ბრძანების ხაზის მისასალმებელ ტექსტს. ახლა ყველა ბრძანება შესრულდება პირდაპირ დისტანციურ სერვერზე.
SSH Windows-იდან
გახსენით Putty და დააყენეთ კავშირის პარამეტრები. დარწმუნდით, რომ გადამრთველი "კავშირის ტიპი”-ისკენ არის მიმართული სშჰ. შეიყვანეთ IP მისამართი "Მასპინძლის სახელი” ველი, ნაგულისხმევი მნიშვნელობა 22 შევიდა "პორტი"და დააჭირეთ"ღიაა".
პირველივე შეერთებისას Putty მოგთხოვთ დაადასტუროთ, რომ ენდობით ამ სერვერს, ასე რომ დააწკაპუნეთ “დიახ"
შესვლისა და პაროლის შეყვანის შემდეგ, დაინახავთ დისტანციური სერვერის ბრძანების ხაზს.
ავთენტიფიკაცია გასაღებით. უსაფრთხოების დონის ამაღლება
როდესაც კლიენტი ცდილობს დაამყაროს სერვერთან უსაფრთხო კავშირი SSH-ის საშუალებით, კავშირის დაშვებამდე სერვერი მოითხოვს კლიენტის ავთენტიფიკაციას (დამოწმებას). როგორც უკვე აღვნიშნეთ, პაროლზე დაფუძნებული ავთენტიფიკაცია ჩვეულებრივ გამოიყენება ნაგულისხმევად. ის არ უზრუნველყოფს მყარ უსაფრთხოებას, რადგან ყოველთვის არის მისი უხეში ძალის გამოყენების საშუალება. გარდა ამისა, პაროლის ავთენტიფიკაცია არ გამოიყენება SSH კავშირებზე სკრიპტების გამოყენებით.
ამ ტიპის ამოცანებისთვის არსებობს გასაღებით ავთენტიფიკაციის სპეციალური მეთოდი. საქმე იმაშია, რომ კლიენტი ქმნის პირად და საჯარო გასაღებებს და შემდეგ საჯარო გასაღები იგზავნება სერვერზე. ამის შემდეგ თქვენ არ გჭირდებათ პაროლი სერვერთან დასაკავშირებლად, რადგან ავტორიზაცია ტარდება საჯარო და კერძო კლიენტის გასაღებების საფუძველზე. უსაფრთხოების კარგი დონის უზრუნველსაყოფად, პირად გასაღებზე წვდომა უნდა შეიზღუდოს. იმის გამო, რომ პირადი გასაღები ინახება კლიენტის მხარეს და არ არის გადაცემული ქსელის საშუალებით, ითვლება, რომ ეს მეთოდი უფრო უსაფრთხოა.
ავტორიზაცია გასაღებით Linux-ზე
მოდით შევქმნათ საჯარო და პირადი გასაღებები კლიენტზე ssh-keygen კომუნალური პროგრამული უზრუნველყოფის დახმარებით. ინსტრუმენტი შემოგთავაზებთ შეცვალოთ ბილიკი პირადი გასაღებისკენ და შეიყვანოთ პაროლი დამატებითი უსაფრთხოებისთვის. ნაგულისხმევად დატოვეთ ყველა პარამეტრი Enter-ის დაჭერით ყველა მოთხოვნაზე.
შედეგად, .ssh საქაღალდეში მთავარ დირექტორიაში ნახავთ გენერირებულ ორ ფაილს: id_rsa მდე id_rsa.pub რომლებიც შესაბამისად შეიცავს კერძო და საჯარო გასაღებებს.
ამის შემდეგ, თქვენ უნდა გაგზავნოთ საჯარო გასაღები სერვერზე. ამისათვის დააკოპირეთ შინაარსი "id_rsa.pub"ფაილი"-ში~/.ssh/authorized_keys” ფაილი სერვერზე. მოდით წავიდეთ უმარტივეს გზაზე ””-ს დახმარებითssh-copy-id” ინსტრუმენტი. შეიყვანეთ სერვერის შესვლა და IP მისამართი, როგორც ჩვეულებრივი კავშირის შემთხვევაში. პაროლის შეყვანის შემდეგ, კლიენტის საჯარო გასაღები ავტომატურად დაკოპირდება სერვერზე. გაუშვით ეს ბრძანება:
ssh-copy-id [email protected]
ყოველივე ამის შემდეგ, სერვერს აღარ დასჭირდება პაროლის შეყვანა.
ვინდოუსის ღილაკით ავტორიზაცია
ღიაა პუტიგენი და დააჭირეთ "გენერირებაგასაღებების გენერირებისთვის, თქვენ უბრალოდ უნდა გადაიტანოთ მაუსი ეკრანზე და ინსტრუმენტი შემთხვევით გამოიმუშავებს კლავიშებს.
გასაღებების გენერირების შემდეგ დააჭირეთ ღილაკს "შეინახეთ პირადი გასაღებიდა შეინახეთ ფაილში პირადი გასაღებით თქვენს დისკზე. შეგიძლიათ დააყენოთ რომელი გზა გსურთ, მაგრამ ცოტა მოგვიანებით დაგჭირდებათ მისი მითითება Putty-ში. შემდეგ დააკოპირეთ საჯარო გასაღები ფანჯრის ზემოდან.
მოდით გავაგზავნოთ საჯარო გასაღები ტერმინალში მისი უბრალოდ კოპირებით. გახსენით Putty და დაუკავშირდით სერვერს, როგორც ყოველთვის. ახლა შევქმნათ ”.ssh/authorized_keys” და შეზღუდეთ სხვა მომხმარებლების ფაილზე წვდომა, ასე რომ ის ხელმისაწვდომი იქნება მხოლოდ შემქმნელისთვის.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
ფაილის შექმნის შემდეგ ჩადეთ მასში კლიენტის საჯარო გასაღები. წინა ეტაპზე ჩვენ დავაკოპირეთ საჯარო გასაღები ბუფერში. ფაილში გაცვლის ბუფერში ჩასაწერად გამოიყენეთ cat ბრძანება და გამომავალი გადამისამართება.
cat > .ssh/authorized_keys
ბრძანების შეყვანის შემდეგ დააწკაპუნეთ მაუსის მარჯვენა ღილაკზე ტერმინალის ფანჯარაში და ჩასვით რა არის ბუფერში. შეყვანის დასადასტურებლად დააჭირეთ ღილაკს "Ctrl + D” მალსახმობი და გათიშეთ სერვერიდან.
ახლა მოდით დავაკონკრეტოთ პირადი გასაღების გზა Putty-ში და კვლავ დავუკავშირდეთ სერვერს.
ამიერიდან სერვერთან დასაკავშირებლად დაგჭირდებათ მხოლოდ მომხმარებლის სახელის შეყვანა. თუ თქვენ ცდილობთ სერვერთან დაკავშირებას სხვა მოწყობილობიდან, რომელსაც არ აქვს სწორი პირადი გასაღები, სერვერი ითხოვს პაროლს. გასაღებით დაფუძნებული ავთენტიფიკაციის დაყენების შემდეგ, შეგიძლიათ აკრძალოთ წვდომა პაროლით.