Linux სერვერთან დაკავშირების ძირითადი გზა SSH პროტოკოლია . ამ ტიპის კავშირი უსაფრთხოა, რადგან მისი მეშვეობით გადაცემული ყველა მონაცემი დაშიფრულია. SSH კავშირის დასამყარებლად , თქვენ უნდა დააკონფიგურიროთ ის დისტანციურ სერვერზე, რომელთანაც გსურთ დაკავშირება, ხოლო კლიენტი მომხმარებლის მხარეს. SSH კავშირისთვის უამრავი პროგრამული უზრუნველყოფა არსებობს. რაც შეეხება Linux-ს, OpenSSH პაკეტი ყველაზე პოპულარულია, ხოლო Windows-ისთვის ძირითადად PuTTY-ს იყენებენ.
მოდით უფრო ახლოს მივხედოთ სერვერის კონფიგურაციას Ubuntu Server 18.04-ის გამოყენებით, როგორც მაგალითი და შემდეგ შევეცადოთ სერვერთან დაკავშირება Linux-იდან და Windows-იდან.
ყველაფერი, რასაც ჩვენ გავაკეთებთ, ჩვეულებრივი მომხმარებლის ანგარიშიდან იქნება. ამ შემთხვევაში, ჩვენ შევქმენით მომხმარებელი „ mihail “ და „ 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 და დააყენეთ კავშირის პარამეტრები. დარწმუნდით, რომ „ Connection type “-ის გადამრთველი SSH- ზეა გადართული . „ Host Name “-ის ველში შეიყვანეთ IP მისამართი , „ Port “-ში კი ნაგულისხმევი მნიშვნელობა 22 და დააჭირეთ „ Open “-ს.
პირველივე დაკავშირებისას 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]
ყოველივე ამის შემდეგ, სერვერს აღარ დასჭირდება პაროლის შეყვანა.
ვინდოუსის ღილაკით ავტორიზაცია
გახსენით PUTTYGEN და დააჭირეთ ღილაკს „ გენერირება “. გასაღებების გენერირებისთვის, თქვენ უბრალოდ უნდა გადაიტანოთ მაუსი ეკრანზე და ინსტრუმენტი შემთხვევით დაგენერირებს გასაღებებს.
გასაღებების გენერირების შემდეგ, დააწკაპუნეთ „ პირადი გასაღების შენახვა “-ზე და შეინახეთ ის თქვენს დისკზე არსებული კერძო გასაღების ფაილში. შეგიძლიათ დააყენოთ ნებისმიერი გზა, მაგრამ ცოტა მოგვიანებით მისი მითითება 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-ში და კვლავ დავუკავშირდეთ სერვერს.
ამიერიდან სერვერთან დასაკავშირებლად დაგჭირდებათ მხოლოდ მომხმარებლის სახელის შეყვანა. თუ თქვენ ცდილობთ სერვერთან დაკავშირებას სხვა მოწყობილობიდან, რომელსაც არ აქვს სწორი პირადი გასაღები, სერვერი ითხოვს პაროლს. გასაღებით დაფუძნებული ავთენტიფიკაციის დაყენების შემდეგ, შეგიძლიათ აკრძალოთ წვდომა პაროლით.