Debian-da SSH konfiguratsiyasi

Ma'lumki, ochiq manbali SSH texnologiyasi ma'lum kompyuterga masofadan ulanish va tanlangan xavfsiz protokol orqali ma'lumotlarni uzatish imkonini beradi. Bundan tashqari, tanlangan qurilmani to'liq boshqarish, muhim ma'lumotlarning va hatto parollarning xavfsiz almashinuvini ta'minlashga imkon beradi. Ba'zida foydalanuvchilar SSH orqali ulanishga ehtiyoj sezadilar, ammo yordam dasturini o'rnatishdan tashqari, ular qo'shimcha sozlashlarni amalga oshirishi kerak. Bugungi kunda Debian tarqatilishini misol qilib olib, bu haqda gapirishni istaymiz.

Debian-da SSH konfiguratsiyasi

O'rnatish jarayonini bir necha bosqichlarga ajratamiz, chunki ularning har biri aniq manipulyatsiya uchun javobgardir va shaxsiy imtiyozlariga qarab, ma'lum foydalanuvchilar uchun shunchaki foydali bo'lmasligi mumkin. Dastlab, barcha manipulyatsiya konsol orqali amalga oshiriladi va biz rootga kirishni tasdiqlashimiz kerak, shuning uchun unga oldindan tayyorlaning.

SSH Server va SSH Client-ni o'rnatish

Odatiy bo'lib, SSH Debian operatsion tizimi uchun standart yordam dasturlarining bir qismidir, ammo ba'zi bir o'ziga xos xususiyatlarga ko'ra talab qilinadigan fayllar eskirgan yoki oddiygina etishmayotgan bo'lishi mumkin, masalan foydalanuvchi qo'lda o'chirib tashlaganida. Agar SSH-server va SSH-mijozni oldindan o'rnatishingiz kerak bo'lsa, quyidagi ko'rsatmalarga amal qiling:

  1. Menyuni oching "Boshlash". va u erdan yugur "Terminal".. Siz buni standart tugmalar birikmasi yordamida ham qilishingiz mumkin Ctrl + Alt + T.
  2. Bu erda siz jamoaga qiziqasiz sudo apt install openssh-serverserver qismini o'rnatish uchun javobgardir. Uni kiriting va bosing Men kirdim faollashtirish.
  3. Siz allaqachon bilganingizdek, argument bilan bajarilgan harakatlar sudo, uni root parolini ko'rsatish orqali faollashtirish kerak bo'ladi. Ushbu qatorga kiritilgan belgilar ko'rsatilmasligini unutmang.
  4. To'plamlar qo'shilganda yoki yangilashda sizga xabar beriladi. Agar SSH-server allaqachon Debian-da o'rnatilgan bo'lsa, ko'rsatilgan paket mavjud bo'lganda sizga xabar beriladi.
  5. Keyinchalik, mijoz tomonini ham qo'shishingiz kerak bo'ladi, bu kelajakda siz ulanadigan kompyuterga ham tegishli. Buning uchun shunga o'xshash buyruqdan foydalaning sudo apt-get install openssh-client.

O'rnatish uchun qo'shimcha komponentlar yo'q, endi siz serverni boshqarish va tugmachalarni yaratish uchun konfiguratsiya fayllarini sozlash va uzoqdagi ish stoliga keyingi ulanish uchun hamma narsani tayyorlash uchun xavfsiz ravishda borishingiz mumkin.

Serverni boshqaring va uning ishlashini tekshiring

Keling, o'rnatilgan server qanday boshqarilishini va tekshirilishini qisqacha ko'rib chiqamiz. Qo'shilgan komponentlarning to'g'ri ishlashini ta'minlash uchun buni konfiguratsiyani boshlashdan oldin ham qilish kerak.

  1. Buyruqdan foydalaning sudo systemctl enable sshdavtomatik ravishda ro'y bermasa, serverni avtomatik ishga tushirishga qo'shish uchun. Agar operatsion tizim bilan ishga tushirishni bekor qilishingiz kerak bo'lsa, foydalaning systemctl disable sshd. Keyin qo'lda ishga tushirish aniq ko'rsatishni talab qiladi systemctl start sshd.
  2. Ushbu turdagi barcha harakatlar mutlaqo har doim superuser nomidan amalga oshirilishi kerak, shuning uchun ularning parolini kiritishingiz kerak.
  3. Buyruqdan foydalaning ssh localhost serverning to'g'ri ishlashini tekshirish uchun. Yoqing localhost mahalliy kompyuter manziliga.
  4. Birinchi marta ulanganingizda, manba tasdiqlanmaganligi to'g'risida sizga xabar beriladi. Bu xavfsizlik sozlamalarini hali tuzmaganligimiz sababli yuz beradi. Endi kirish orqali ulanishni davom ettirishni tasdiqlang ha.

RSA kalit juftligini qo'shing

Serverdan mijozga va aksincha SSH orqali ulanish parolni kiritish orqali amalga oshiriladi, lekin RSA algoritmlari yordamida ishlab chiqilgan juft kalitlarni yaratish mumkin va hatto tavsiya etiladi. Ushbu turdagi shifrlash eng maqbul himoyani ta'minlaydi, bu tajovuzkorga kirishga urinishda qochish qiyin bo'ladi. Kalit juftlikni qo'shish uchun atigi bir necha daqiqa vaqt ketadi va jarayon shunday ko'rinadi

  1. Ochish "Terminal". va u erga kiring ssh-keygen.
  2. Kalit yo'lni o'zingiz saqlashni xohlagan joyni tanlashingiz mumkin. Agar siz uni o'zgartirishni xohlamasangiz, shunchaki tugmachani bosing Men kirdim.
  3. Endi ochiq kalit yaratilmoqda. Uni parol bilan himoya qilish mumkin. Uni paydo bo'lgan qatorga kiriting yoki ushbu parametrni faollashtirishni xohlamasangiz, bo'sh qoldiring.
  4. Agar siz parolni kiritsangiz, uni tasdiqlash uchun yana kiritishingiz kerak bo'ladi.
  5. Ochiq kalitni yaratish to'g'risida bildirishnoma ko'rsatiladi. Ko'rib turganingizdek, unga tasodifiy belgilar to'plami berilgan va tasodifiy algoritmlar yordamida rasm yaratilgan.

Hozirgina amalga oshirilgan harakatlar tufayli maxfiy kalit va ochiq kalit yaratildi. Ular qurilmalar orasidagi aloqa uchun ishlatiladi. Endi ochiq kalitni serverga ko'chirishingiz kerak, bu turli usullar bilan amalga oshiriladi.

Ochiq kalitni serverga nusxalash

Serverda ochiq kalitni nusxalash uchun Debian-da uchta variant mavjud. Kelajakda qaysi biri sizga eng mos kelishini hal qilish uchun barchasini ko'rib chiqishingizni tavsiya qilamiz. Bu uchta usuldan biri ishlamasa yoki foydalanuvchi ehtiyojlariga mos kelmasa foydali bo'ladi.

1-usul: ssh-copy-id buyrug'i

Buyruqni ishlatish eng oddiy variantdan boshlaymiz ssh-nusxa ko'chirish-id. Odatiy bo'lib, ushbu yordam dasturi allaqachon operatsion tizimga kiritilgan, shuning uchun uni avvalroq o'rnatish shart emas. Uning sintaksisi ham iloji boricha sodda va siz quyidagi amallarni bajarishingiz kerak:

  1. Konsolda buyruqni kiriting ssh-copy-id username@remote_host va uni faollashtiring. Yoqing host_remote_user_name yuklash muvaffaqiyatli bo'lishi uchun mo'ljallangan kompyuter manziliga.
  2. Birinchi marta ulanishga harakat qilsangiz, siz xabarni ko'rasiz "The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes". Ulanishni davom ettirish uchun "Ha" ni tanlang.
  3. Yordamchi dastur kalitni o'zi topadi va nusxalaydi. Nihoyat, agar muvaffaqiyatli bo'lsa, ekranda bildirishnoma paydo bo'ladi «/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys username@203.0.113.1's password:«. Bu shuni anglatadiki, siz parolni kiritishingiz va to'g'ridan-to'g'ri masofaviy ish stolini boshqarishga o'tishingiz mumkin.

Shuningdek, birinchi muvaffaqiyatli avtorizatsiyadan so'ng konsolda quyidagi xabar paydo bo'lishini ko'rsating:

Number of key(s) added: 1

Endi "ssh'username@203.0.113.1 ′" bilan mashinaga kirishga harakat qiling.
va faqat kerakli kalit (lar) qo'shilganligini tekshiring.

Kalit uzoqdagi kompyuterga muvaffaqiyatli qo'shilganligi va endi ulanishda hech qanday muammo bo'lmaydi, deyilgan.

2-usul: kalitni SSH orqali eksport qiling

Ma'lumki, ochiq kalitni eksport qilish sizga ko'rsatilgan serverga parolni kiritmasdan ulanish imkonini beradi. Endi, agar kalit kompyuterda bo'lmasa, siz SSH orqali parolni kiritib, so'ngra kerakli faylni qo'lda uzatish orqali ulanishingiz mumkin. Buning uchun konsolda quyidagi buyruqni yozishingiz kerak cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys".

Ekranda xabarnoma paydo bo'lishi kerak

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?
.

Ulanishni davom ettirish uchun uni tasdiqlang. Ochiq kalit avtomatik ravishda konfiguratsiya faylining oxiriga ko'chiriladi "Vakolatli kalitlar". Bu eksport tartibini yakunlaydi.

3-usul: Kalitni qo'lda nusxalash

Ushbu usul maqsadli kompyuterga masofaviy ulanish yaratish imkoniyati bo'lmagan, lekin unga jismoniy kirish imkoniga ega bo'lgan foydalanuvchilar uchun javob beradi. Bunday holda siz kalitni o'zingiz topshirishingiz kerak bo'ladi. Avvalo, kompyuteringizdagi shaxsiy kompyuteringizdagi ma'lumotlarni aniqlang cat ~/.ssh/id_rsa.pub.

Konsol chiziqni ko'rsatishi kerak ssh-rsa + ключ в виде набора символов== demo@test. Endi siz boshqa kompyuterga o'tishingiz mumkin, bu erda kirish orqali yangi katalog yaratishingiz kerak mkdir -p ~/.ssh. Xuddi shu katalogda matnli fayl chaqirildi authorized_keys. Oldindan aniqlangan kalitni u erga kiritish kifoya echo + строка публичного ключа >> ~/.ssh/authorized_keys. Keyinchalik parollarni kiritmasdan autentifikatsiya qilish mumkin. Bu buyruq bilan amalga oshiriladi ssh username@remote_hostqaerda host_remote_user_name uni kerakli xost nomi bilan almashtirish kerak.

Biz hozirda muhokama qilgan usullar umumiy kalitni yangi qurilmaga ko'chirdi, shunda parolni kiritmasdan ulanish mumkin edi, ammo hozir uni kiritish shakli hali ham paydo bo'ladi. Vaziyatning bunday holati tajovuzkorlarga parollarni buzish orqali uzoq ish stoliga kirish huquqini beradi. Quyida biz sizga ma'lum o'zgarishlar kiritib, xavfsizlik to'g'risida g'amxo'rlik qilishni taklif qilamiz.

Parolni tasdiqlashni o'chirib qo'ying

Yuqorida aytib o'tganimizdek, parolni autentifikatsiya qilish opsiyasi masofaviy ulanish xavfsizligining zaif bo'g'ini bo'lishi mumkin, chunki bu tugmachalarni bekor qilish uchun vositalar mavjud. Agar serveringizni iloji boricha xavfsizroq saqlashga qiziqsangiz, ushbu parametrni o'chirib qo'yishingizni tavsiya qilamiz. Siz buni shunday qilishingiz mumkin:

  1. Konfiguratsiya faylini oching /etc/ssh/sshd_config har qanday qulay matn muharriri orqali, masalan, gedit yoki nano bo'lishi mumkin.
  2. Ochilgan ro'yxatda qatorni toping "Parolni autentifikatsiya qilish". va afishani olib tashlang #ushbu buyruqni faollashtirish uchun. Ning qiymatini o'zgartiring ha en noqiziqish variantini o'chirish uchun.
  3. Tugatgandan so'ng cherting Ctrl + OO'zgarishlarni saqlash uchun.
  4. Fayl nomini o'zgartirmang, shunchaki bosing Men kirdim sozlamani qo'llash uchun.
  5. Matn muharriridan bosish orqali chiqishingiz mumkin Ctrl + X.
  6. SSH xizmati qayta ishga tushirilgunga qadar barcha o'zgarishlar kuchga kirmaydi, shuning uchun darhol orqali amalga oshiring sudo systemctl restart ssh.

Bu parolni autentifikatsiya qilish funktsiyasini o'chirib qo'yadi va kirish faqat RSA tugmachalarini moslashtirish orqali amalga oshiriladi. Ushbu konfiguratsiyani amalga oshirishda buni hisobga oling.

Xavfsizlik devori sozlamalarini sozlang

Bugungi materialni yakunlash uchun biz ulanishga ruxsat berish yoki rad etish uchun ishlatiladigan xavfsizlik devori sozlamalari haqida gaplashmoqchimiz. Masalan, murakkab bo'lmagan xavfsizlik devorini (UFW) misol qilib olib, shunchaki asoslarni ko'rib chiqamiz.

  1. Dastlab, mavjud profillar ro'yxatini ko'rib chiqamiz. Chiqinglar . sudo ufw app list va ustiga bosing Men kirdim.
  2. Superuser parolini ko'rsatib, amalni tasdiqlang.
  3. Ro'yxatda SSH-ni qidiring. Agar bu yo'nalish u erda mavjud bo'lsa, demak, hamma narsa to'g'ri ishlaydi.
  4. Yozish orqali ushbu yordam dasturi orqali ulanishga ruxsat bering sudo ufw allow OpenSSH.
  5. Qoidalarni yangilash uchun xavfsizlik devorini faollashtiring. Bu buyruq orqali amalga oshiriladi sudo ufw enable.
  6. Xavfsizlik devorining mavjud holatini istalgan vaqtda kiritish orqali tekshirishingiz mumkin sudo ufw status.

Bu Debian-da SSHni sozlash jarayonini yakunlaydi. Ko'rib turganingizdek, turli xil tafsilotlar va qoidalarga amal qilish kerak. Albatta, maqola mutlaqo barcha ma'lumotlarni qamrab ololmaydi, shuning uchun biz faqat asoslarga to'xtaldik. Agar siz ushbu vosita haqida batafsil ma'lumot olishni istasangiz, uning rasmiy hujjatlarini o'qib chiqishingizni tavsiya qilamiz.

Biz sizning muammoingizda sizga yordam bera olganimizdan xursandmiz.

Siz uchun nima ishlamaganligini tasvirlab bering.
Bizning mutaxassislarimiz imkon qadar tezroq javob berishga harakat qilishadi.

Ushbu maqola sizga yordam berdimi?