Екі SSH бүркеншімі, бір сервер: тікелей VPN немесе секіру хосты
Бекітілген VPN жолын және бекітілген бастион жолын бөлек бүркеншімдер мен бетбелгілер ретінде ұстаңыз, сонда ешбір жарлық қай жолдың рұқсат етілгенін болжауға мәжбүр болмайды.
Сол жеке сервер бекітілген VPN арқылы және бекітілген бастион арқылы жауап береді, ал сіз болжайтын жарлықтың орнына әрқайсысына бір Emacs бетбелгісін қалайсыз. Шешім қай жол жақсы дегенде емес; ол сіздің алдыңыздағы жұмыс үшін қай жолдың рұқсат етілгенінде. Екеуін де айқын ұстаңыз, оларды бөлек атаңыз және файл аты қайсын таңдағаныңызды айтсын.
Бірінші шарт: қай жолдар бекітілген?
Секіру хосты VPN талабының автоматты баламасы емес, ал VPN бекітілген бастионды айналып өтуге лицензия емес. Аккаунтыңыз бен осы деректер үшін қай маршруттардың рұқсат етілгенін сұраңыз. Екеуі де рұқсат етілсе, таңдауыңыз бар; тек біреуі болса, бетбелгілер жиынтығында бір жазба бар. Бұл жауап деректер иесінен келеді, бүгін кездейсоқ жұмыс істеп тұрған маршруттан емес.
Жауапты жазып қойыңыз, өйткені оқиға кезінде бұл айырмашылық тез жоғалады.
Екі жолға да өз аккаунты мен сәйкестілік конфигурациясы қажет. Бір маршрутта жұмыс істейтін ортақ бүркеншім екіншісінде желіге ешқандай қатысы жоқ себептермен сәтсіздікке ұшырауы мүмкін.
Екінші шарт: әр жолды бөлек атай аласыз ба?
SSH конфигурациясы бір мекенжай үшін екі хост бүркеншімін ұстай алады, әрқайсысы басқа прокси мінез-құлқымен. Нақты блоктарды кез келген кең жабайы таңбадан бұрын қойыңыз, өйткені алынған бірінші мән көптеген опцияларда жеңеді.
Host proj-direct proj-bastion
HostName 10.60.0.21
User analyst
ControlPath none
Host proj-direct
ProxyJump none
Host proj-bastion
ProxyJump gw.example.com
Жоғарыдағы мекенжай мысал; оны командаңыз құжаттайтын мекенжаймен алмастырыңыз. Секіру бүркеншіміне бастионның бекітілген аккаунты да қажет, бұл әдетте бастионның өзіне екінші Host блогын білдіреді. Мұнда байланыстарды бөлісуді өшіру жолдарды салыстыруды адал ұстайды, өйткені қайта пайдаланылған мультиплексті байланыс байқағыңыз келетін маршрут өзгерісінен ұзақ өмір сүруі мүмкін.
Сонда қашықтағы файл аттары бөлек және оқылатын болып қалады.
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
Үшінші шарт: редактор айырмашылықты біле ме?
TRAMP бұл екі файл атын әртүрлі межелер ретінде қарастырады, бұл дәл сіз қалаған нәрсе. Әрқайсысын қай жолды пайдаланатынын айтатын атаумен бетбелгілеңіз және бір меженің мағынасын өзгертудің орнына бетбелгіні қайта ашыңыз. Екі бетбелгі салыстыруды көрінетін етеді: екеуін де ашып, қандай конфигурацияны да өзгертпей-ақ қайсысы сәтсіздікке ұшырайтынын көре аласыз.
ProxyJump қатысқанда бір параметр назар аударуға тұрарлық: TRAMP байланыстарды бөлісуі тиісті байланыстар үшін өшірулі болуы керек, сондықтан оларды ашпас бұрын tramp-use-connection-share мәнін nil етіп қойыңыз. Бұл үйлесімділік параметрі, жоғалған маршрутты түзету емес және рұқсат етілмеген жолды рұқсат етілген етпейді. TRAMP жиі қойылатын сұрақтары бетбелгілерді бұл атауларды қысқартудың қолдау көрсетілген жолы ретінде құжаттайды.
Маршрутты үнсіз өзгертетін бетбелгі мүлдем бетбелгі болмағаннан жаман.
Неліктен желі белгішесі ештеңені дәлелдемейді
NetworkManager-дің жалпы күй мәні 70 машинаның ғаламдық қосылымы бар екенін білдіреді. Ол ешбір VPN профилін атамайды және кәдімгі Wi-Fi оны қанағаттандырады. Тек жеке желіге арналған туннель, дәл сізге қажет маршрутты тасымалдай отырып, бұл жиынтық мәнді тиіспеген күйде қалдыруы мүмкін. Сондықтан белгішеге байланған жарлық ешқашан сынамаған жол үшін дайындық туралы хабарлауы мүмкін.
Ғаламдық күйдің орнына нақты байланыстың күйін оқыңыз.
Егер бірдеңені автоматтандырсаңыз, аталған байланысты сұраңыз, содан кейін осы ретпен мақсатты маршрутты, шешушінің жауабын және SSH қолжетімділігін тексеріңіз. Олардың әрқайсысы алдыңғысы сәтті болғанда сәтсіздікке ұшырауы мүмкін, ал оларды бір логикалық мәнге біріктіру — автоматтандырудың ешқашан пайдаланбаған жолы үшін табысты хабарлауының жолы.
Жол жұмысын тоқтатқанда не істеу керек
Тексеруге кіріспес бұрын буферлеріңізді сақтаңыз, өйткені бар TRAMP сессиясы маршрут өзгерісінен ұзақ өмір сүріп, келесі жазбада сәтсіздікке ұшырауы мүмкін. Оны қолдау көрсетілген тазалау арқылы жабыңыз, бетбелгіні қайта ашыңыз және серверді өшірілген деп болжаудың орнына екі жолды салыстырыңыз.
Хост кілтін тексеруді бастион үшін де, меже үшін де қосулы ұстаңыз.
Басқа маршрут сізге күтпеген сервер кілтін қабылдауға құқық бермейді және бекітілмеген жолды қабылданатын етпейді. Екеуі де сіз қабылдап жатқан шешімнен бөлек шешімдер.