SSH orqali masofaviy VPN muharriri: qaysi mashinani tahrirlayapsiz?
X11 uzatish noutbukingizda masofaviy muharrirni ko'rsatadi, ammo profil va marshrutlar masofaviy xostda qoladi. Saqlashdan oldin xost, UUID va qaytarish yo'lini tekshiring.
X11 uzatish muharrir oynasini noutbukingizga qo'yadi, jarayon esa masofaviy xostda davom etadi. Shu tafovut butun tuzoqdir: siz mahalliy oynaga qarab masofaviy profilni tahrirlayapsiz va o'zgarish qaysi mashinaga tegishli ekani haqidagi noto'g'ri taxmin siz ishlayotgan SSH aloqasini uzib qo'yishi mumkin. Quyidagi tekshiruv ro'yxati biror narsa saqlanishidan oldin xost va profilni belgilaydi. Har bir qadamning to'xtash sharti bor, shuning uchun erta muvaffaqiyatsizlik arzon.
1-qadam: profilga ega mashinani nomlang
Konfiguratsiya qilmoqchi bo'lgan shell ichida identifikatsiya buyruqlarini bajaring va javobni promtdan taxmin qilish o'rniga o'qing. Promtdagi xost nomi shellingiz chiqargan satr; yadro xost nomi esa bu ro'yxatning qolgan qismi ishonadigan narsa. Ikkisi mos kelmasa, siz noto'g'ri mashinadasiz yoki promtni mahalliy shellingiz bezagan. To'xtang va davom etishdan oldin mo'ljallangan xostga qayta ulanib oling.
hostnamectl
hostname -f
ip -brief address
Keyingi savol — bu mashina VPNni umuman ushlashi kerakmi. Noutbuk klientini sozlash va masofaviy xost klientini sozlash turli marshrutlar, turli DNS va turli nosozlik rejimlarini beradi. Profilga tegishdan oldin qaysi birini nazarda tutayotganingizni hal qiling va qarorni keyingi odam topadigan joyga yozib qo'ying.
2-qadam: profilni yorliq bilan emas, UUID bilan o'qing
NetworkManager ulanishni UUID bilan aniqlaydi, nom esa har kim tahrirlashi yoki nusxalashi mumkin bo'lgan yorliqdir. Ikkisini ham sanab chiqing va haqiqatan nazarda tutgan yozuvingizni moslang, ayniqsa yillar davomida bir nechta VPN profili import qilingan xostda.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions
Saqlangan yozuvlar va faol ulanishlar turli savollarga javob beradi: birinchisi nima borligini, ikkinchisi hozir nima trafik tashiyotganini sanaydi. Ruxsatlar satri sessiyangiz uchun mahalliy siyosatni tavsiflaydi va VPN shlyuzi hisobni qabul qiladimi-yo'qmi degani haqida hech narsa aytmaydi. Kerakli profil saqlangan ro'yxatda bo'lmasa, shu yerda to'xtang, chunki noto'g'ri yozuvni tahrirlash umuman tahrirlamaslikdan yomonroq.
UUIDni olgach, uni o'zgaruvchiga joylang va har bir keyingi buyruqda shu o'zgaruvchidan foydalaning. Bu nusxalash va qo'yish xatolarining butun sinfini yo'q qiladi va yozuvni qayta tiklanadigan qiladi.
UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"
3-qadam: grafik muharrir to'g'ri vosita ekanini hal qiling
polkit so'rovi yoki maxfiy ma'lumotlar agenti kerak bo'lgan muharrir buni faqat oynasi noutbukingizda ko'ringani uchun olmaydi. Bu komponentlar masofaviy sessiya kontekstida ishlaydi va displeyni uzatish ularni uzatmaydi. Agar muharrir avtorizatsiya yoki maxfiy kalit xatosi bilan saqlay olmasa, muammo displeyda emas.
echo "$DISPLAY"
ssh -X you@vpn-host
xauth list
OpenSSH X11 uzatishni quyidagi bilan yoqadi -X va u bilan keladigan ehtiyotkorlikni hujjatlashtiradi: masofaviy xost mahalliy displeyingizga yetib borishi mumkin, bu haqiqiy ishonch chegarasidir. Ishonchli uzatish -Y bilan bu tekshiruvlarning bir qismini olib tashlaydi va standart sozlamalarda muvaffaqiyatsiz bo'lgan dastur uchun hech qachon refleks yechim bo'lmasligi kerak. Agar tashkilotingiz masofaviy boshqaruv usulini e'lon qilsa, variant o'ylab topish o'rniga shundan foydalaning. Ko'p hollarda buyruq qatori muharriri kichikroq yuza va yaxshiroq javobdir.
Agar yagona ishlaydigan yo'l talab qilsa, shu yerda to'xtang -Y va nima uchunligini tushuntira olmasangiz. Bu xavfsizlik siyosati egasining qarori, shaxsiy skriptda saqlanadigan aylanib o'tish emas.
4-qadam: biror narsani faollashtirishdan oldin tiklash yo'lini saqlang
VPN o'zgarishi SSH sessiyangiz bog'liq bo'lgan marshrutni olib tashlashi mumkin, shuning uchun profilni faollashtirishdan oldin qaytish yo'lini tayyorlang. Konsolga kirish, tarmoqdan tashqari boshqaruv manzili yoki rejalashtirilgan qaytarish — barchasi hisoblanadi; o'zgarish ishlaydi degan umid hisoblanmaydi.
sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'
Faqat mo'ljallangan profilni faollashtiring, so'ngra masofaviy xostdan tekshiring: standart marshrut, SSH qaytish yo'li va tunnel orqali yetib borishi kerak bo'lgan bitta resurs. Noutbukingizdan muvaffaqiyatli tekshiruv noutbukning yo'lini sinaydi va masofaviy xost haqida hech narsa aytmaydi. Sessiya uzilsa, ko'r-ko'rona qayta ulanish o'rniga tiklash yo'lidan foydalaning. Profilni saqlash faollashtirish emas, faollashtirish esa tekshirish emas.
UUIDni, o'zgartirilgan xossa qiymatlarini va ularni tekshirish uchun ishlatilgan buyruqlarni yozib qo'ying. Bu xostga keyingi tegadigan odamga uchtasi ham kerak bo'ladi va VPN tuzatildi degan qisqacha mazmunda ko'ra yozuv qimmatroq. Qaytarish eslatmasiz tugaydigan tekshiruv ro'yxati yarim ro'yxatdir.