{"id":480660,"date":"2026-05-22T12:12:44","date_gmt":"2026-05-22T12:12:44","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=480660"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=480660","title":{"rendered":"VPS-\u0431\u0430\u0441\u0442\u0438\u043e\u043d: \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0431\u0435\u0437 \u0431\u0435\u043b\u043e\u0433\u043e IP"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0427\u0442\u043e \u0438\u043c\u0435\u0435\u043c \u0438 \u0437\u0430\u0447\u0435\u043c \u0432\u0441\u0451 \u044d\u0442\u043e<\/h3>\n<p>\u0423 \u0432\u0430\u0441 \u0434\u043e\u043c\u0430 \u043a\u0440\u0443\u0442\u044f\u0442\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b: Home Assistant, Jellyfin, code-server \u0438\u043b\u0438 Nextcloud. \u0418\u043b\u0438 \u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c. \u041f\u043e\u043a\u0430 \u0432\u044b \u0434\u043e\u043c\u0430, \u0432\u0441\u0451 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 IP. \u041d\u043e \u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0439\u0442\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b, \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u044e\u0442. \u041f\u0440\u0438\u0447\u0438\u043d\u0430: \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0432\u044b\u0434\u0430\u043b \u0441\u0435\u0440\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 CGNAT. \u0411\u0435\u043b\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043d\u0435\u043b\u044c\u0437\u044f (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0432\u0435\u0442\u0441\u043a\u0438\u0439 \u0434\u0435\u0444\u0438\u0446\u0438\u0442), \u043b\u0438\u0431\u043e \u043e\u043d \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u043d\u0435\u0433.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441 \u0436\u0435\u043b\u0435\u0437\u043e\u043c. \u0415\u0441\u043b\u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c, \u043e\u0442\u043b\u0438\u0447\u043d\u043e. \u0415\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435, \u0432\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043f\u043e\u0434 \u043b\u044e\u0431\u043e\u0439 \u0431\u044e\u0434\u0436\u0435\u0442:<\/p>\n<ul>\n<li>\n<p><strong>\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0435 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0438.<\/strong> Repka Pi \u0438\u043b\u0438 \u042d\u043b\u0442\u0430\u0439 \u042d\u0441\u0421\u0438 (Eltay SC) \u043e\u0442 \u043d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u042d\u043b\u0440\u043e\u043d\u00bb \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u00ab\u0421\u043a\u0438\u0444\u00bb. \u041f\u0440\u044f\u043c\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 Raspberry Pi \u043d\u0430 \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043d\u043e\u0439 \u0431\u0430\u0437\u0435.<\/p>\n<\/li>\n<li>\n<p><strong>\u041a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0435 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0438.<\/strong> Orange Pi, Banana Pi, Radxa. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u0438\u043c\u0435\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043b\u0443\u0447\u0448\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0438\u0435 \u0434\u0435\u043d\u044c\u0433\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0442\u0430\u0440\u044b\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0438\u043b\u0438 \u041f\u041a.<\/strong> \u0421\u0430\u043c\u044b\u0439 \u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0439 \u043f\u0443\u0442\u044c. \u041c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u0436\u0435 10\u201315-\u043b\u0435\u0442\u043d\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0438\u0437\u0431\u044b\u0442\u043a\u043e\u043c \u0445\u0432\u0430\u0442\u0438\u0442 \u0434\u043b\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0423 \u043c\u0435\u043d\u044f \u0441\u0442\u0430\u0440\u0435\u043d\u044c\u043a\u0438\u0439, 14-\u043b\u0435\u0442\u043d\u0438\u0439 Acer, \u0440\u0443\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u0430\u0441\u044c \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442\u044c, \u043f\u043e\u0446\u0430\u0440\u0430\u043f\u0430\u043d\u043d\u044b\u0439, \u0441\u043e \u0441\u043a\u043e\u043b\u0430\u043c\u0438, \u043d\u043e \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043d\u044c \u0431\u043e\u0440\u043e\u0437\u0434\u044b \u043d\u0435 \u043f\u043e\u0440\u0442\u0438\u0442.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0440\u0435\u0437\u043e\u043d\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0430\u0440\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c VPS \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0442\u0443\u0434\u0430? \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e. \u041d\u043e \u0443 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0443 VPS \u0437\u0430 300\u2013500 \u0440\u0443\u0431\u043b\u0435\u0439:<\/p>\n<ul>\n<li>\n<p><strong>\u0414\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/strong> \u041d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439, \u0444\u0438\u043b\u044c\u043c\u043e\u0432 \u0438 \u043c\u0443\u0437\u044b\u043a\u0438. VPS \u0441 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0434\u0438\u0441\u043a\u0430 \u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0445 \u0434\u0435\u043d\u0435\u0433.<\/p>\n<\/li>\n<li>\n<p><strong>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0431\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430.<\/strong> Home Assistant \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u043c\u043d\u044b\u043c \u0434\u043e\u043c\u043e\u043c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u043e\u043f\u0430\u0434\u0435\u0442. \u0410 Jellyfin \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0438\u043d\u043e \u043f\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0431\u0435\u0437 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0438 \u0431\u0435\u0437 \u0440\u0430\u0441\u0445\u043e\u0434\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u044c.<\/strong> \u0414\u0430\u043d\u043d\u044b\u0435 \u043b\u0435\u0436\u0430\u0442 \u0443 \u0432\u0430\u0441 \u0434\u043e\u043c\u0430, \u0430 \u043d\u0435 \u0432 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0435. \u0414\u043b\u044f \u043a\u043e\u0433\u043e-\u0442\u043e \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0434\u043b\u044f \u043c\u0435\u043d\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.<\/strong> \u0421\u0442\u0430\u0440\u044b\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 i5 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u043e\u0449\u043d\u0435\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u043d\u043e\u0433\u043e VPS \u0441 \u043e\u0434\u043d\u0438\u043c vCPU.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u0434\u0430\u0451\u043c \u0435\u043c\u0443 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e\u0439 VPS-\u0431\u0430\u0441\u0442\u0438\u043e\u043d. \u0421\u0430\u043c VPS \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u043f\u0440\u043e\u043a\u0441\u0438 \u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c. \u041c\u044b \u0430\u0440\u0435\u043d\u0434\u0443\u0435\u043c VPS \u0441 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c IP ( \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0437\u0430 300\u2013500 \u0440\u0443\u0431\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446). \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0435\u043d\u044b \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432, \u0442\u0430\u043a \u043a\u0430\u043a \u0440\u044b\u043d\u043e\u043a \u043e\u0447\u0435\u043d\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u044b\u0439. \u042d\u0442\u043e\u0442 VPS \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u0447\u043a\u043e\u0439 \u0432\u0445\u043e\u0434\u0430, \u0438\u043b\u0438 \u0431\u0430\u0441\u0442\u0438\u043e\u043d\u043e\u043c. \u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0430\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 SSH-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 VPS \u0438 \u0441\u043a\u0430\u0436\u0435\u0442: \u00ab\u0412\u0441\u0451, \u0447\u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442 \u043d\u0430 \u0442\u0432\u043e\u0439 \u043f\u043e\u0440\u0442 8123, \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0439 \u043c\u043d\u0435 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 8123\u00bb. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0438\u0437 \u0434\u043e\u043c\u0430 \u043d\u0430\u0440\u0443\u0436\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u0435\u043d NAT \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430.<\/p>\n<p><strong>\u041c\u043e\u044f \u0446\u0435\u043b\u044c \u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439, \u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0438 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434.<\/strong> \u042f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043f\u043e\u0447\u0435\u043c\u0443 \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 \u043c\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c ed25519 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0440\u0430\u0443\u043d\u0434\u0430\u043c\u0438 KDF, \u0437\u0430\u0447\u0435\u043c \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044f, \u043a\u0430\u043a autossh \u0438 systemd \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u0435\u0440\u0436\u0430\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0430\u0445 \u0441\u0435\u0442\u0438. \u0412\u0441\u0451 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043d\u0435 \u043f\u0430\u0434\u0430\u043b \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u043e\u0447\u044c \u0438 \u0447\u0442\u043e\u0431\u044b \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0438\u043b\u0438 \u043a\u043b\u044e\u0447.<\/p>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432\u044b\u0433\u043e\u0434\u0435\u043d \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442\u044b \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0430\u0444\u0438\u043a \u043c\u0435\u0436\u0434\u0443 \u0432\u0430\u043c\u0438 \u0438 \u0434\u043e\u043c\u043e\u043c \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043b\u044e\u0431\u044b\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u043c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f CGNAT.<\/p>\n<\/li>\n<li>\n<p>\u041c\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 (\u0431\u0443\u0434\u044c \u0442\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 Cloudflare \u0438\u043b\u0438 \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432\u0440\u043e\u0434\u0435 DDoS-Guard \u0438\u043b\u0438 Qrator Labs) \u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435. <\/p>\n<\/li>\n<\/ul>\n<h3>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 SSH-\u0442\u0443\u043d\u043d\u0435\u043b\u044c<\/h3>\n<p>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0443<\/p>\n<pre><code>ssh -R 8123:localhost:8123 tunneluser@vps_ip<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u043e\u0441\u0438\u0442 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 (VPS) \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u043f\u043e\u0440\u0442 8123 \u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u044d\u0442\u043e \u0436\u0435 SSH-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 8123 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u044b.<\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043a\u0442\u043e-\u0442\u043e \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0441\u0442\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0430 <code>&lt;IP_VPS&gt;:8123<\/code>, \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0443\u0442\u044c:<\/p>\n<pre><code>\u041a\u043b\u0438\u0435\u043d\u0442 \u2192 VPS:\u043f\u043e\u0440\u0442 8123 \u2192 SSH-\u0442\u0443\u043d\u043d\u0435\u043b\u044c \u2192 \u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440:\u043f\u043e\u0440\u0442 8123<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u0434\u043e\u043c\u0430 \u043d\u0430\u0440\u0443\u0436\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 NAT \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0435\u0439 <code>-R<\/code>. \u0427\u0442\u043e\u0431\u044b \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0441\u0430\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u044b\u0432\u043e\u0432 \u0441\u0432\u044f\u0437\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 autossh. \u0410utossh \u044d\u0442\u043e \u0443\u043c\u043d\u0430\u044f \u043e\u0431\u0451\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 \u043e\u0431\u044b\u0447\u043d\u044b\u043c SSH.<\/p>\n<h3>\u0428\u0430\u0433 1. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 VPS<\/h3>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a VPS \u043f\u043e SSH.<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b SSH-\u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/ssh\/sshd_config<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e SSH \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0440\u0442\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 loopback (127.0.0.1), \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0438\u043c \u0438\u0437\u0432\u043d\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. \u0418\u0449\u0435\u043c \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<pre><code>GatewayPorts yesAllowTcpForwarding yes<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sshd_config \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 nano<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/afe\/220\/ecb\/afe220ecb16edcdd45ddbb3a2c4e3d4d.png\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sshd_config: \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b  \" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sshd_config: \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b  \" width=\"508\" height=\"292\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/afe\/220\/ecb\/afe220ecb16edcdd45ddbb3a2c4e3d4d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/afe\/220\/ecb\/afe220ecb16edcdd45ddbb3a2c4e3d4d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sshd_config: \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<\/em>  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c sshd, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c:<\/p>\n<pre><code class=\"bash\">sudo systemctl restart sshd<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e root \u0438\u043b\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e: \u0435\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u0437\u0430\u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u043a\u043b\u044e\u0447\u043e\u043c, \u043e\u043d \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430 VPS. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e <code>tunneluser<\/code> \u043c\u044b \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u043c, \u043d\u043e \u043f\u043e\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0433\u043e \u0441 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0437\u0430\u0434\u0430\u0451\u043c \u0435\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c:<\/p>\n<pre><code class=\"bash\">sudo adduser tunneluser --disabled-passwordsudo passwd tunneluser<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447. \u041d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/p>\n<pre><code class=\"bash\">ssh-copy-id -i ~\/.ssh\/id_ed25519.pub tunneluser@&lt;IP_VPS&gt;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u044f \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0447\u0442\u043e \u0432\u0445\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<pre><code class=\"bash\">ssh tunneluser@&lt;IP_VPS&gt; hostname<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0438\u043c\u044f VPS \u0438 \u0441\u0440\u0430\u0437\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0430 \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 <code>~\/.ssh<\/code> \u0438 <code>authorized_keys<\/code> \u043d\u0430 VPS \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>tunneluser<\/code>.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043a\u043b\u044e\u0447 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d, \u043c\u0435\u043d\u044f\u0435\u043c \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u043d\u0430 <code>\/usr\/sbin\/nologin<\/code>, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0433 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 <code>-R<\/code> \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043d\u0443\u0436\u0435\u043d shell.<\/p>\n<pre><code class=\"bash\">sudo usermod -s \/usr\/sbin\/nologin tunneluser<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f Ubuntu) <code>\/usr\/sbin\/nologin<\/code> \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b\u0435 <code>\/etc\/shells<\/code>. \u0422\u043e\u0433\u0434\u0430 sshd \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u0440\u043e\u0441. \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0445:<\/p>\n<pre><code class=\"bash\">echo \/usr\/sbin\/nologin | sudo tee -a \/etc\/shells<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 <code>tunneluser<\/code> \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>.ssh<\/code> \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430. \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u0432 \u0435\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"bash\">sudo su - tunneluser -s \/bin\/bashmkdir -p ~\/.sshchmod 700 ~\/.sshexit<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 .ssh \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f tunneluser<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ef6\/9e9\/83e\/ef69e983e622f4e899674264349416cd.png\" alt=\"\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 tunneluser, \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 .ssh \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 700  \" title=\"\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 tunneluser, \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 .ssh \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 700  \" width=\"440\" height=\"106\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ef6\/9e9\/83e\/ef69e983e622f4e899674264349416cd.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ef6\/9e9\/83e\/ef69e983e622f4e899674264349416cd.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 tunneluser, \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 .ssh \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 700  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>\u0417\u0430\u043f\u0440\u0435\u0442\u0438\u043c \u0432\u0445\u043e\u0434 \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e \u0434\u043b\u044f <code>tunneluser<\/code>. \u0421\u043d\u043e\u0432\u0430 \u043e\u0442\u043a\u0440\u043e\u0435\u043c <code>\/etc\/ssh\/sshd_config<\/code> \u0438 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0434\u043e\u0431\u0430\u0432\u0438\u043c:<\/p>\n<pre><code>Match User tunneluser    PasswordAuthentication no<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c sshd:<\/p>\n<pre><code class=\"bash\">sudo systemctl restart sshd<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c <code>tunneluser<\/code> \u0441\u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0439\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 <code>psmisc<\/code>, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442. \u0412 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u0430\u0445 VPS \u0443\u0442\u0438\u043b\u0438\u0442\u0430 <code>fuser<\/code> \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u0430 \u043e\u043d\u0430 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0443 \u0434\u043b\u044f \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u0442\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u044b\u0432\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f.<\/p>\n<pre><code class=\"bash\">sudo apt install -y psmisc<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 psmisc \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u0435\u043c tunneluser<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/928\/3f8\/653\/9283f865365bd9aa24d4e431f849830e.png\" alt=\"\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c psmisc (\u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b fuser) \u0438 \u0437\u0430\u0434\u0430\u0451\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c  \" title=\"\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c psmisc (\u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b fuser) \u0438 \u0437\u0430\u0434\u0430\u0451\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c  \" width=\"916\" height=\"743\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/928\/3f8\/653\/9283f865365bd9aa24d4e431f849830e.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/928\/3f8\/653\/9283f865365bd9aa24d4e431f849830e.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c psmisc (\u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b fuser) \u0438 \u0437\u0430\u0434\u0430\u0451\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 VPS \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.<\/p>\n<h3>\u0428\u0430\u0433 2. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/h3>\n<p>\u0412\u0441\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435: Raspberry Pi, Orange Pi, \u0441\u0442\u0430\u0440\u043e\u043c \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<h4>2.1. \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c SSH-\u043a\u043b\u044e\u0447<\/h4>\n<p>\u0414\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 VPS \u0431\u0435\u0437 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043f\u0430\u0440\u0430 \u043a\u043b\u044e\u0447\u0435\u0439. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c ed25519: \u043e\u043d \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435, \u0447\u0435\u043c RSA, \u0430 \u043a\u043b\u044e\u0447\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>-a 100<\/code> \u0437\u0430\u0434\u0430\u0451\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0443\u043d\u0434\u043e\u0432 KDF (\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430). \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0435\u0448\u0438\u0442\u0435 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u0430\u0440\u043e\u043b\u0435\u043c, \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0435\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0431\u0435\u0437 \u043f\u0430\u0440\u043e\u043b\u044f, \u0447\u0442\u043e\u0431\u044b autossh \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043d\u043e \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c <code>-a 100<\/code> \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435.<\/p>\n<pre><code class=\"bash\">ssh-keygen -t ed25519 -a 100 -C \"home-to-vps-tunnel\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enter \u0434\u0432\u0430\u0436\u0434\u044b  \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u0441\u0442\u044b\u043c.<\/p>\n<h4>2.2. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c autossh<\/h4>\n<p>\u041e\u0431\u044b\u0447\u043d\u044b\u0439 SSH \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435. \u0415\u0441\u043b\u0438 \u0441\u0432\u044f\u0437\u044c \u043f\u0440\u043e\u043f\u0430\u0434\u0451\u0442, \u043f\u043e\u0440\u0442\u044b \u043d\u0430 VPS \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u00ab\u0432\u0438\u0441\u0435\u0442\u044c\u00bb \u0432 \u0437\u0430\u043d\u044f\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438, \u0438 \u043d\u043e\u0432\u044b\u0439 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442\u0441\u044f. <code>autossh<\/code> \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443: \u043e\u043d \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.<\/p>\n<pre><code class=\"bash\">sudo apt updatesudo apt install -y autossh<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>2.3. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0430<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0437\u0430\u0432\u0435\u0434\u0451\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0412 \u043d\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u044b \u043f\u043e\u0440\u0442\u043e\u0432: \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u043d\u0430 VPS \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/sshtunnels\/services.conf<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e:<\/p>\n<pre><code># Home Assistant8123:8123# Jellyfin8096:8096# code-server8443:8443# SSH \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 (\u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c VPS)2222:22<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442: <code>\u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439_\u043f\u043e\u0440\u0442_\u043d\u0430_VPS:\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439_\u043f\u043e\u0440\u0442_\u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e_\u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/code>. \u0421\u0442\u0440\u043e\u043a\u0438, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 <code>#<\/code>, \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f.<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0431\u0440\u043e\u0441 SSH: \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0442\u0430\u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 2222. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u0430 \u0432\u0445\u043e\u0434 \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e \u043e\u0442\u043a\u043b\u044e\u0447\u0451\u043d.<\/p>\n<h4>2.4. \u041f\u0438\u0448\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f<\/h4>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c <code>services.conf<\/code> \u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f autossh.<\/p>\n<pre><code class=\"bash\">sudo nano \/usr\/local\/bin\/tunnel-manager.sh<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a (\u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 <code>REMOTE_HOST<\/code> \u0438 \u043f\u0443\u0442\u044c \u043a \u043a\u043b\u044e\u0447\u0443 \u043d\u0430 \u0441\u0432\u043e\u0438):<\/p>\n<pre><code class=\"bash\">#!\/bin\/bashREMOTE_USER=\"tunneluser\"REMOTE_HOST=\"123.123.123.123\"         # \u0432\u0430\u0448 IP VPSSSH_KEY=\"\/home\/pi\/.ssh\/id_ed25519\"    # \u043f\u0443\u0442\u044c \u043a \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443SSH_PORT=\"22\"CONFIG_FILE=\"\/etc\/sshtunnels\/services.conf\"FORWARD_OPTS=\"\"while IFS=: read -r remote_port local_port; do    # \u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0443\u0441\u0442\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438    [[ -z \"$remote_port\" || \"$remote_port\" =~ ^# ]] &amp;&amp; continue    # \u0423\u0431\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443, \u0435\u0441\u043b\u0438 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0443\u043f\u0430\u043b \u0438 \u043f\u043e\u0440\u0442 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0437\u0430\u043d\u044f\u0442    ssh -p \"$SSH_PORT\" -i \"$SSH_KEY\" \"$REMOTE_USER@$REMOTE_HOST\" \\        \"command -v fuser &amp;&amp; fuser -k ${remote_port}\/tcp 2&gt;\/dev\/null || true\"    FORWARD_OPTS=\"$FORWARD_OPTS -R ${remote_port}:localhost:${local_port}\"done &lt; \"$CONFIG_FILE\"echo \"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u0438 \u043a $REMOTE_HOST \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438: $FORWARD_OPTS\"exec autossh -M 0 \\    -o \"ServerAliveInterval=30\" \\    -o \"ServerAliveCountMax=3\" \\    -o \"ExitOnForwardFailure=yes\" \\    -o \"StrictHostKeyChecking=no\" \\    -o \"GatewayPorts=yes\" \\    -N -T \\    -i \"$SSH_KEY\" \\    -p \"$SSH_PORT\" \\    $FORWARD_OPTS \\    \"$REMOTE_USER@$REMOTE_HOST\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f tunnel-manager.sh<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/58d\/109\/78a\/58d10978aeb556c43352355dd7ddefa8.png\" alt=\"\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u00a0tunnel-manager.sh. \u0412 \u0441\u0442\u0440\u043e\u043a\u0430\u0445\u00a0REMOTE_HOST\u00a0\u0438\u00a0SSH_KEY\u00a0\u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0432\u043e\u0438.  \" title=\"\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u00a0tunnel-manager.sh. \u0412 \u0441\u0442\u0440\u043e\u043a\u0430\u0445\u00a0REMOTE_HOST\u00a0\u0438\u00a0SSH_KEY\u00a0\u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0432\u043e\u0438.  \" width=\"629\" height=\"445\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/58d\/109\/78a\/58d10978aeb556c43352355dd7ddefa8.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/58d\/109\/78a\/58d10978aeb556c43352355dd7ddefa8.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u00a0<code>tunnel-manager.sh<\/code>. \u0412 \u0441\u0442\u0440\u043e\u043a\u0430\u0445\u00a0<code>REMOTE_HOST<\/code>\u00a0\u0438\u00a0<code>SSH_KEY<\/code>\u00a0\u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0432\u043e\u0438.  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u044f\u0441\u043d\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b.<\/p>\n<ul>\n<li>\n<p><code>command -v fuser &amp;&amp; fuser -k ... || true<\/code> \u2014 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0435\u0441\u0442\u044c \u043b\u0438 <code>fuser<\/code> \u043d\u0430 VPS. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u043c, \u0438 \u043a\u043e\u0434 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0443\u043b\u0435\u0432\u043e\u0439. \u0418\u043d\u0430\u0447\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0433 \u0431\u044b \u0443\u043f\u0430\u0441\u0442\u044c \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 <code>fuser<\/code>.<\/p>\n<\/li>\n<li>\n<p><code>ExitOnForwardFailure=yes<\/code> \u2014 \u0435\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u043f\u043e\u0440\u0442, SSH \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f. \u0422\u043e\u0433\u0434\u0430 systemd \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<\/li>\n<li>\n<p><code>StrictHostKeyChecking=no<\/code> \u2014 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u043a\u043b\u044e\u0447\u0430 \u0445\u043e\u0441\u0442\u0430. \u041c\u044b \u0434\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0432\u043e\u0435\u043c\u0443 VPS, \u0438\u043d\u0430\u0447\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u043f\u0440\u043e\u0441\u0438\u043b\u0430 \u0431\u044b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u0432\u0438\u0441. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0441\u0438\u043b\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 <code>ssh-keyscan -H &lt;IP_VPS&gt; &gt;&gt; ~\/.ssh\/known_hosts<\/code> \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 <code>StrictHostKeyChecking=no<\/code> \u043d\u0430 <code>StrictHostKeyChecking=accept-new<\/code>. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043f\u0440\u0438\u043c\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0439 \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043e\u043a.<\/p>\n<\/li>\n<li>\n<p><code>GatewayPorts=yes<\/code> \u2014 \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u0431\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b.<\/p>\n<\/li>\n<li>\n<p><code>-N<\/code> \u2014 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><code>-T<\/code> \u2014 \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e\u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b, \u0447\u0442\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p><code>ServerAliveInterval=30<\/code> \u0438 <code>ServerAliveCountMax=3<\/code> \u2014 \u043a\u0430\u0436\u0434\u044b\u0435 30 \u0441\u0435\u043a\u0443\u043d\u0434 SSH \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 keepalive-\u043f\u0430\u043a\u0435\u0442. \u0415\u0441\u043b\u0438 \u0442\u0440\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u043e\u0434\u0440\u044f\u0434 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u0430, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043e\u0440\u0432\u0430\u043d\u043d\u044b\u043c, \u0438 autossh \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<\/li>\n<li>\n<p><code>-M 0<\/code> \u2014 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u043e\u0432\u044b\u0439 \u043f\u043e\u0440\u0442 autossh. \u041c\u044b \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b keepalive \u0441\u0430\u043c\u043e\u0433\u043e SSH \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0447\u0435\u0440\u0435\u0437 systemd.<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c:<\/p>\n<pre><code class=\"bash\">sudo chmod +x \/usr\/local\/bin\/tunnel-manager.sh<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>2.5. \u0421\u043e\u0437\u0434\u0430\u0451\u043c systemd-\u0441\u0435\u0440\u0432\u0438\u0441<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043e\u0444\u043e\u0440\u043c\u0438\u043c \u0435\u0433\u043e \u043a\u0430\u043a \u0441\u043b\u0443\u0436\u0431\u0443 systemd. <\/p>\n<p><strong>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c Windows (WSL):<\/strong> \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 WSL \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 systemd. \u0427\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438, \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 systemd: \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 <code>\/etc\/wsl.conf<\/code> \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<pre><code>[boot]systemd=true<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 WSL \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>wsl --shutdown<\/code> \u0432 PowerShell \u0438 \u0441\u043d\u043e\u0432\u0430 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b Ubuntu. \u0415\u0441\u043b\u0438 systemd \u043d\u0435 \u043d\u0443\u0436\u0435\u043d, \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0439\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0447\u0435\u0440\u0435\u0437 <code>nohup<\/code>, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b \u0441\u043b\u0443\u0436\u0431\u044b:<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/systemd\/system\/autossh-tunnel.service<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435:<\/p>\n<pre><code>[Unit]Description=Persistent SSH Reverse Tunnel to VPSAfter=network-online.targetWants=network-online.target[Service]Type=execExecStart=\/usr\/local\/bin\/tunnel-manager.shRestart=alwaysRestartSec=20StartLimitIntervalSec=0Environment=\"AUTOSSH_GATETIME=0\"Environment=\"AUTOSSH_POLL=60\"[Install]WantedBy=multi-user.target<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u0424\u0430\u0439\u043b \u0441\u043b\u0443\u0436\u0431\u044b<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a4\/12a\/966\/1a412a9660608d8d6e6dd51b914aae3a.png\" alt=\"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 unit-\u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f\" title=\"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 unit-\u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f\" width=\"401\" height=\"280\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1a4\/12a\/966\/1a412a9660608d8d6e6dd51b914aae3a.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a4\/12a\/966\/1a412a9660608d8d6e6dd51b914aae3a.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 unit-\u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f<\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<ul>\n<li>\n<p><code>After=<\/code><a href=\"http:\/\/network-online.target\" rel=\"noopener noreferrer nofollow\"><code>network-online.target<\/code><\/a> \u2014 \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><code>Restart=always<\/code> \u2014 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438, \u043a\u0440\u043e\u043c\u0435 \u044f\u0432\u043d\u043e\u0439 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 <code>systemctl stop<\/code>.<\/p>\n<\/li>\n<li>\n<p><code>RestartSec=20<\/code> \u2014 \u0436\u0434\u0430\u0442\u044c 20 \u0441\u0435\u043a\u0443\u043d\u0434 \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u0430\u0443\u0437\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u0434\u0434\u043e\u0441\u0438\u0442\u044c VPS \u043f\u0440\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430\u0445.<\/p>\n<\/li>\n<li>\n<p><code>AUTOSSH_GATETIME=0<\/code> \u2014 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c \u0441\u0440\u0430\u0437\u0443, \u0431\u0435\u0437 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><code>AUTOSSH_POLL=60<\/code> \u2014 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c autossh \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a ServerAliveInterval).<\/p>\n<\/li>\n<\/ul>\n<h3>\u0428\u0430\u0433 3. \u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430<\/h3>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u044f \u043d\u0430 VPS \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u043e\u0440\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c. \u0418\u043d\u0430\u0447\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f, \u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0438\u0437\u0432\u043d\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043d\u0430 VPS:<\/p>\n<pre><code class=\"bash\">sudo ufw allow 8123\/tcpsudo ufw allow 8096\/tcpsudo ufw allow 8443\/tcpsudo ufw allow 2222\/tcpsudo ufw enable<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0438 \u0438\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>sudo ufw allow 8080\/tcp<\/code>.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443:<\/p>\n<pre><code class=\"bash\">sudo systemctl daemon-reloadsudo systemctl enable autossh-tunnelsudo systemctl start autossh-tunnel<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0442\u0430\u0442\u0443\u0441:<\/p>\n<pre><code class=\"bash\">sudo systemctl status autossh-tunnel<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u0437\u044c\u043c\u0438\u0442\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Wi-Fi (\u0447\u0442\u043e\u0431\u044b \u0442\u0440\u0430\u0444\u0438\u043a \u0448\u0451\u043b \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c) \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440. \u0412 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 <code>http:\/\/&lt;IP\\_VPS&gt;:8123<\/code>. \u0414\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044c\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Home Assistant. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 Jellyfin \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 8096 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b.<\/p>\n<details class=\"spoiler\">\n<summary>\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2ea\/36a\/137\/2ea36a137b63e92887f2d7f2a34e9b88.png\" alt=\"\u0414\u043e\u0441\u0442\u0443\u043f \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c  \" title=\"\u0414\u043e\u0441\u0442\u0443\u043f \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c  \" width=\"712\" height=\"412\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/2ea\/36a\/137\/2ea36a137b63e92887f2d7f2a34e9b88.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2ea\/36a\/137\/2ea36a137b63e92887f2d7f2a34e9b88.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u043e\u0441\u0442\u0443\u043f \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>\u0414\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043d\u0430 VPS:<\/p>\n<pre><code class=\"bash\">ss -tulpn | grep 8123<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u043e\u0440\u0442: <code>ss -tulpn | grep 8123<\/code>. \u0415\u0441\u043b\u0438 <code>ss<\/code> \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>netstat -tulpn | grep 8123<\/code> \u0438\u043b\u0438 <code>lsof -i :8123<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u043d\u0435 \u0437\u0430\u043d\u044f\u0442 \u043b\u0438 \u044d\u0442\u043e\u0442 \u043f\u043e\u0440\u0442 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c VPS \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c: <code>ss -tulpn | grep 8123<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430 VPS \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0444\u0430\u0439\u0440\u0432\u043e\u043b ufw, \u0438 \u043f\u043e\u0440\u0442\u044b \u0437\u0430\u043a\u0440\u044b\u0442\u044b. \u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435 \u0438\u0445, \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432\u044b\u0448\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0430 VPS \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 <code>fuser<\/code>, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0435\u0451: <code>sudo apt install -y psmisc<\/code>. \u041e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0443 \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u044b\u0432\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f: \u0435\u0441\u043b\u0438 VPS \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f \u0432 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0431\u044b\u043b \u0430\u043a\u0442\u0438\u0432\u0435\u043d, \u043f\u043e\u0440\u0442\u044b \u043d\u0430 VPS \u043c\u043e\u0433\u0443\u0442 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 <code>TIME_WAIT<\/code>. <code>autossh<\/code> \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0432\u044b\u0448\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u043e \u043c\u0438\u043d\u0443\u0442\u044b. \u0415\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 \u0434\u043e\u043b\u0433\u043e \u043d\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f, \u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 VPS \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 <code>ss -tulpn | grep &lt;\u043f\u043e\u0440\u0442&gt;<\/code>. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u0440\u0443\u0447\u043d\u0443\u044e.<\/p>\n<h3>\u0428\u0430\u0433 4. \u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c<\/h3>\n<h4>4.1. \u0424\u0430\u0439\u0440\u0432\u043e\u043b \u043d\u0430 VPS<\/h4>\n<p>\u041c\u044b \u0443\u0436\u0435 \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u0432 ufw. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435\u0441\u044c \u0441 \u043e\u0434\u043d\u043e\u0433\u043e IP (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u0440\u0430\u0431\u043e\u0442\u044b), \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c:<\/p>\n<pre><code class=\"bash\">sudo ufw allow from &lt;\u0432\u0430\u0448_\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439_IP&gt; to any port 8123<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Caddy \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043d\u0430 HTTPS \u043f\u0440\u044f\u043c\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u044c (\u0441\u043c. \u0440\u0430\u0437\u0434\u0435\u043b 4.3).<\/p>\n<h4>4.2. \u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0439<\/h4>\n<p>\u0420\u0430\u0437 \u0432 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u0440\u0443 \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0430 VPS \u0432 <code>\/home\/tunneluser\/.ssh\/authorized_keys<\/code>.  \u0422\u0430\u043a \u0432\u044b \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0445\u0443\u0435\u0442\u0435\u0441\u044c \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439, \u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u0443\u044e\u0442, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443 \u0443\u0433\u043e\u043d\u044f\u0442.  <\/p>\n<h4>4.3. HTTPS \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432<\/h4>\n<p>\u041f\u043e\u043a\u0430 \u043c\u044b \u0445\u043e\u0434\u0438\u043c \u043f\u043e HTTP, \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0438 VPS. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u043d\u0443\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441 SSL. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 Caddy, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b Let\u2019s Encrypt \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a.<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043d\u0430 VPS:<\/p>\n<pre><code class=\"bash\">sudo apt install -y debian-keyring debian-archive-keyring apt-transport-httpscurl -1sLf 'https:\/\/dl.cloudsmith.io\/public\/caddy\/stable\/gpg.key' | sudo gpg --dearmor -o \/usr\/share\/keyrings\/caddy-stable-archive-keyring.gpgcurl -1sLf 'https:\/\/dl.cloudsmith.io\/public\/caddy\/stable\/debian.deb.txt' | sudo tee \/etc\/apt\/sources.list.d\/caddy-stable.listsudo apt updatesudo apt install caddy<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f (<code>\/etc\/caddy\/Caddyfile<\/code>):<\/p>\n<pre><code>hass.my-domain.ru {    reverse_proxy localhost:8123}jellyfin.my-domain.ru {    reverse_proxy localhost:8096}code.my-domain.ru {    reverse_proxy localhost:8443}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Caddy \u0434\u043b\u044f HTTPS \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1d6\/d96\/079\/1d6d9607955c1225c82bbf1b14fa5a52.png\" alt=\"\u041f\u0440\u0438\u043c\u0435\u0440 Caddyfile \u0441 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438 \u0434\u043b\u044f Home Assistant, Jellyfin \u0438 code-server  \" title=\"\u041f\u0440\u0438\u043c\u0435\u0440 Caddyfile \u0441 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438 \u0434\u043b\u044f Home Assistant, Jellyfin \u0438 code-server  \" width=\"287\" height=\"184\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1d6\/d96\/079\/1d6d9607955c1225c82bbf1b14fa5a52.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1d6\/d96\/079\/1d6d9607955c1225c82bbf1b14fa5a52.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0440\u0438\u043c\u0435\u0440 Caddyfile \u0441 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438 \u0434\u043b\u044f Home Assistant, Jellyfin \u0438 code-server  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e HTTPS \u043d\u0443\u0436\u0435\u043d \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043c\u0435\u043d, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 A-\u0437\u0430\u043f\u0438\u0441\u044c\u044e \u043d\u0430 IP \u0432\u0430\u0448\u0435\u0433\u043e VPS. \u0415\u0441\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u0430 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442, Caddy \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430:<\/p>\n<pre><code>:80 {    reverse_proxy localhost:8080}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u0434\u043e\u043c\u0435\u043d\u0430 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 <code>:80<\/code> \u043d\u0430 \u0432\u0430\u0448 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>hass.my-domain.ru<\/code>) \u2014 Caddy \u0441\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442 HTTPS.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a:<\/p>\n<pre><code class=\"bash\">sudo systemctl restart caddy<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0447\u0442\u043e Caddy \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b:<\/p>\n<pre><code class=\"bash\">curl -I http:\/\/localhost:80<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b Caddy<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c35\/85c\/987\/c3585c9877d8f33e6ff4ee7e795bef8e.png\" alt=\"\u041e\u0442\u0432\u0435\u0442 curl -I http:\/\/localhost:80 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e Caddy \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b (HTTP 200 OK)  \" title=\"\u041e\u0442\u0432\u0435\u0442 curl -I http:\/\/localhost:80 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e Caddy \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b (HTTP 200 OK)  \" width=\"355\" height=\"118\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c35\/85c\/987\/c3585c9877d8f33e6ff4ee7e795bef8e.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c35\/85c\/987\/c3585c9877d8f33e6ff4ee7e795bef8e.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041e\u0442\u0432\u0435\u0442 curl -I http:\/\/localhost:80 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e Caddy \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b (HTTP 200 OK)  <\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<p>Caddy \u0441\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b, \u0438 \u0447\u0435\u0440\u0435\u0437 \u043c\u0438\u043d\u0443\u0442\u0443 \u0432\u0430\u0448\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e HTTPS \u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a Caddy \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043f\u0440\u044f\u043c\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0435 \u0441\u0432\u0435\u0442\u0438\u043b\u0438\u0441\u044c \u043f\u043e HTTP:<\/p>\n<pre><code class=\"bash\">sudo ufw delete allow 8123\/tcpsudo ufw delete allow 8096\/tcpsudo ufw delete allow 8443\/tcp<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0430 443 \u043f\u043e\u0440\u0442.<\/p>\n<p>\u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 Caddy:<\/p>\n<pre><code class=\"bash\">sudo apt install apache2-utilshtpasswd -c \/etc\/caddy\/.htpasswd username<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0418 \u0432 \u0431\u043b\u043e\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c:<\/p>\n<pre><code>hass.my-domain.ru {    basicauth {        username $2a$14$...    }    reverse_proxy localhost:8123}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0425\u044d\u0448 \u043f\u0430\u0440\u043e\u043b\u044f \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438 \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u0435\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0438\u0435 \u0441 127.0.0.1, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043b\u043e\u0433\u043e\u0432. \u0412 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Caddy \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b <code>trusted_proxies<\/code> \u0438 \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u043e\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e IP \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0414\u043b\u044f \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e.<\/p>\n<h3>\u0428\u0430\u0433 5. \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430<\/h3>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 VPS \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0438\u043d\u0433, \u043d\u043e SSH-\u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0432\u043d\u043e\u0441\u0438\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434. \u0415\u0441\u043b\u0438 VPS \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0442\u043e\u043c \u0436\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u0435, \u0447\u0442\u043e \u0438 \u0432\u044b, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u044b\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u043d\u0430 2\u20138 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434. \u042d\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435 \u0432\u0438\u0434\u0435\u043e.<\/p>\n<h3>\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b<\/h3>\n<p>\u0415\u0441\u043b\u0438 autossh \u0438 \u0440\u0443\u0447\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u0438\u043c\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0432\u0440\u043e\u0434\u0435 rathole, frp \u0438\u043b\u0438 bore. \u041e\u043d\u0438 \u0442\u043e\u0436\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u041f\u041e \u043a\u0430\u043a \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u0430\u043a \u0438 \u043d\u0430 VPS. \u041d\u0430\u0448 \u043c\u0435\u0442\u043e\u0434 \u0445\u043e\u0440\u043e\u0448 \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0430 VPS \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e, \u043a\u0440\u043e\u043c\u0435 \u0448\u0442\u0430\u0442\u043d\u043e\u0433\u043e SSH-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 Ubuntu.<\/p>\n<h3>\u0418\u0442\u043e\u0433<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c \u0438\u0437 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u043c\u0438\u0440\u0430. \u0412\u0441\u0451, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c: VPS \u0437\u0430 300\u2013500 \u0440\u0443\u0431\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446 \u0438 \u043f\u043e\u043b\u0447\u0430\u0441\u0430 \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443. \u0422\u0443\u043d\u043d\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e \u0438 \u0448\u0438\u0444\u0440\u0443\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u043f\u0443\u0442\u0438. \u0421\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435: \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0435\u0433\u043e \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c \u043a \u043e\u0431\u0440\u044b\u0432\u0430\u043c \u0438 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u044b\u043c \u043e\u0442 \u0441\u0430\u043c\u044b\u0445 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0430\u0442\u0430\u043a. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e\u0442 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043d\u0430\u043b\u0430\u0434\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0435\u0439 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0439 \u0431\u043e\u043b\u0438. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a, \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0439\u0442\u0435 \u0432 \u043b\u043e\u0433\u0438 <code>journalctl -u autossh-tunnel<\/code> \u0438 \u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1038186\/\">https:\/\/habr.com\/ru\/articles\/1038186\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0442\u043e \u0438\u043c\u0435\u0435\u043c \u0438 \u0437\u0430\u0447\u0435\u043c \u0432\u0441\u0451 \u044d\u0442\u043e\u0423 \u0432\u0430\u0441 \u0434\u043e\u043c\u0430 \u043a\u0440\u0443\u0442\u044f\u0442\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b: Home Assistant, Jellyfin, code-server \u0438\u043b\u0438 Nextcloud. \u0418\u043b\u0438 \u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c. \u041f\u043e\u043a\u0430 \u0432\u044b \u0434\u043e\u043c\u0430, \u0432\u0441\u0451 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 IP. \u041d\u043e \u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0439\u0442\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b, \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u044e\u0442. \u041f\u0440\u0438\u0447\u0438\u043d\u0430: \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0432\u044b\u0434\u0430\u043b \u0441\u0435\u0440\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 CGNAT. \u0411\u0435\u043b\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043d\u0435\u043b\u044c\u0437\u044f (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0432\u0435\u0442\u0441\u043a\u0438\u0439 \u0434\u0435\u0444\u0438\u0446\u0438\u0442), \u043b\u0438\u0431\u043e \u043e\u043d \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u043d\u0435\u0433.\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441 \u0436\u0435\u043b\u0435\u0437\u043e\u043c. \u0415\u0441\u043b\u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c, \u043e\u0442\u043b\u0438\u0447\u043d\u043e. \u0415\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435, \u0432\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043f\u043e\u0434 \u043b\u044e\u0431\u043e\u0439 \u0431\u044e\u0434\u0436\u0435\u0442:\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0435 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0438. Repka Pi \u0438\u043b\u0438 \u042d\u043b\u0442\u0430\u0439 \u042d\u0441\u0421\u0438 (Eltay SC) \u043e\u0442 \u043d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u042d\u043b\u0440\u043e\u043d\u00bb \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u00ab\u0421\u043a\u0438\u0444\u00bb. \u041f\u0440\u044f\u043c\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 Raspberry Pi \u043d\u0430 \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043d\u043e\u0439 \u0431\u0430\u0437\u0435.\u041a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0435 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0438. Orange Pi, Banana Pi, Radxa. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u0438\u043c\u0435\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043b\u0443\u0447\u0448\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0438\u0435 \u0434\u0435\u043d\u044c\u0433\u0438.\u0421\u0442\u0430\u0440\u044b\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0438\u043b\u0438 \u041f\u041a. \u0421\u0430\u043c\u044b\u0439 \u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0439 \u043f\u0443\u0442\u044c. \u041c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u0436\u0435 10\u201315-\u043b\u0435\u0442\u043d\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0438\u0437\u0431\u044b\u0442\u043a\u043e\u043c \u0445\u0432\u0430\u0442\u0438\u0442 \u0434\u043b\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0423 \u043c\u0435\u043d\u044f \u0441\u0442\u0430\u0440\u0435\u043d\u044c\u043a\u0438\u0439, 14-\u043b\u0435\u0442\u043d\u0438\u0439 Acer, \u0440\u0443\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u0430\u0441\u044c \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442\u044c, \u043f\u043e\u0446\u0430\u0440\u0430\u043f\u0430\u043d\u043d\u044b\u0439, \u0441\u043e \u0441\u043a\u043e\u043b\u0430\u043c\u0438, \u043d\u043e \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043d\u044c \u0431\u043e\u0440\u043e\u0437\u0434\u044b \u043d\u0435 \u043f\u043e\u0440\u0442\u0438\u0442.\u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0440\u0435\u0437\u043e\u043d\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0430\u0440\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c VPS \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0442\u0443\u0434\u0430? \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e. \u041d\u043e \u0443 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0443 VPS \u0437\u0430 300\u2013500 \u0440\u0443\u0431\u043b\u0435\u0439:\u0414\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e. \u041d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439, \u0444\u0438\u043b\u044c\u043c\u043e\u0432 \u0438 \u043c\u0443\u0437\u044b\u043a\u0438. VPS \u0441 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0434\u0438\u0441\u043a\u0430 \u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0445 \u0434\u0435\u043d\u0435\u0433.\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0431\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430. Home Assistant \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u043c\u043d\u044b\u043c \u0434\u043e\u043c\u043e\u043c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u043e\u043f\u0430\u0434\u0435\u0442. \u0410 Jellyfin \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0438\u043d\u043e \u043f\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0431\u0435\u0437 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0438 \u0431\u0435\u0437 \u0440\u0430\u0441\u0445\u043e\u0434\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430.\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u043b\u0435\u0436\u0430\u0442 \u0443 \u0432\u0430\u0441 \u0434\u043e\u043c\u0430, \u0430 \u043d\u0435 \u0432 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0435. \u0414\u043b\u044f \u043a\u043e\u0433\u043e-\u0442\u043e \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0434\u043b\u044f \u043c\u0435\u043d\u044f.\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0421\u0442\u0430\u0440\u044b\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 i5 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u043e\u0449\u043d\u0435\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u043d\u043e\u0433\u043e VPS \u0441 \u043e\u0434\u043d\u0438\u043c vCPU.\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u0434\u0430\u0451\u043c \u0435\u043c\u0443 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e\u0439 VPS-\u0431\u0430\u0441\u0442\u0438\u043e\u043d. \u0421\u0430\u043c VPS \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u043f\u0440\u043e\u043a\u0441\u0438 \u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435.\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c. \u041c\u044b \u0430\u0440\u0435\u043d\u0434\u0443\u0435\u043c VPS \u0441 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c IP ( \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0437\u0430 300\u2013500 \u0440\u0443\u0431\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446). \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0435\u043d\u044b \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432, \u0442\u0430\u043a \u043a\u0430\u043a \u0440\u044b\u043d\u043e\u043a \u043e\u0447\u0435\u043d\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u044b\u0439. \u042d\u0442\u043e\u0442 VPS \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u0447\u043a\u043e\u0439 \u0432\u0445\u043e\u0434\u0430, \u0438\u043b\u0438 \u0431\u0430\u0441\u0442\u0438\u043e\u043d\u043e\u043c. \u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0430\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 SSH-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 VPS \u0438 \u0441\u043a\u0430\u0436\u0435\u0442: \u00ab\u0412\u0441\u0451, \u0447\u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442 \u043d\u0430 \u0442\u0432\u043e\u0439 \u043f\u043e\u0440\u0442 8123, \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0439 \u043c\u043d\u0435 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 8123\u00bb. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0438\u0437 \u0434\u043e\u043c\u0430 \u043d\u0430\u0440\u0443\u0436\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u0435\u043d NAT \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430.\u041c\u043e\u044f \u0446\u0435\u043b\u044c \u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439, \u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0438 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434. \u042f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043f\u043e\u0447\u0435\u043c\u0443 \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 \u043c\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c ed25519 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0440\u0430\u0443\u043d\u0434\u0430\u043c\u0438 KDF, \u0437\u0430\u0447\u0435\u043c \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044f, \u043a\u0430\u043a autossh \u0438 systemd \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u0435\u0440\u0436\u0430\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0430\u0445 \u0441\u0435\u0442\u0438. \u0412\u0441\u0451 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043d\u0435 \u043f\u0430\u0434\u0430\u043b \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u043e\u0447\u044c \u0438 \u0447\u0442\u043e\u0431\u044b \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0438\u043b\u0438 \u043a\u043b\u044e\u0447.\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432\u044b\u0433\u043e\u0434\u0435\u043d \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:\u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442\u044b \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0435.\u0422\u0440\u0430\u0444\u0438\u043a \u043c\u0435\u0436\u0434\u0443 \u0432\u0430\u043c\u0438 \u0438 \u0434\u043e\u043c\u043e\u043c \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f.\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043b\u044e\u0431\u044b\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u043c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f CGNAT.\u041c\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 (\u0431\u0443\u0434\u044c \u0442\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 Cloudflare \u0438\u043b\u0438 \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432\u0440\u043e\u0434\u0435 DDoS-Guard \u0438\u043b\u0438 Qrator Labs) \u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 SSH-\u0442\u0443\u043d\u043d\u0435\u043b\u044c\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0443ssh -R 8123:localhost:8123 tunneluser@vps_ip\u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u043e\u0441\u0438\u0442 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 (VPS) \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u043f\u043e\u0440\u0442 8123 \u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u044d\u0442\u043e \u0436\u0435 SSH-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 8123 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u044b.\u041a\u043e\u0433\u0434\u0430 \u043a\u0442\u043e-\u0442\u043e \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0441\u0442\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0430 &lt;IP_VPS&gt;:8123, \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0443\u0442\u044c:\u041a\u043b\u0438\u0435\u043d\u0442 \u2192 VPS:\u043f\u043e\u0440\u0442 8123 \u2192 SSH-\u0442\u0443\u043d\u043d\u0435\u043b\u044c \u2192 \u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440:\u043f\u043e\u0440\u0442 8123\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u0434\u043e\u043c\u0430 \u043d\u0430\u0440\u0443\u0436\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 NAT \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0435\u0439 -R. \u0427\u0442\u043e\u0431\u044b \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0441\u0430\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u044b\u0432\u043e\u0432 \u0441\u0432\u044f\u0437\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 autossh. \u0410utossh \u044d\u0442\u043e \u0443\u043c\u043d\u0430\u044f \u043e\u0431\u0451\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 \u043e\u0431\u044b\u0447\u043d\u044b\u043c SSH.\u0428\u0430\u0433 1. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 VPS\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a VPS \u043f\u043e SSH.\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b SSH-\u0441\u0435\u0440\u0432\u0435\u0440\u0430:sudo nano \/etc\/ssh\/sshd_config\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e SSH \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0440\u0442\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 loopback (127.0.0.1), \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0438\u043c \u0438\u0437\u0432\u043d\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. \u0418\u0449\u0435\u043c \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:GatewayPorts yesAllowTcpForwarding yes\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sshd_config \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 nano\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sshd_config: \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b  \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c sshd, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c:sudo systemctl restart sshd\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e root \u0438\u043b\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e: \u0435\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u0437\u0430\u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u043a\u043b\u044e\u0447\u043e\u043c, \u043e\u043d \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430 VPS. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e tunneluser \u043c\u044b \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u043c, \u043d\u043e \u043f\u043e\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0433\u043e \u0441 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447.\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0437\u0430\u0434\u0430\u0451\u043c \u0435\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c:sudo adduser tunneluser &#8212;disabled-passwordsudo passwd tunneluser\u0422\u0435\u043f\u0435\u0440\u044c \u0441 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447. \u041d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:ssh-copy-id -i ~\/.ssh\/id_ed25519.pub tunneluser@&lt;IP_VPS&gt;\u041f\u043e\u0441\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u044f \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0447\u0442\u043e \u0432\u0445\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:ssh tunneluser@&lt;IP_VPS&gt; hostname\u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0438\u043c\u044f VPS \u0438 \u0441\u0440\u0430\u0437\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0430 \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 ~\/.ssh \u0438 authorized_keys \u043d\u0430 VPS \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f tunneluser.\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043a\u043b\u044e\u0447 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d, \u043c\u0435\u043d\u044f\u0435\u043c \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u043d\u0430 \/usr\/sbin\/nologin, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0433 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 -R \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043d\u0443\u0436\u0435\u043d shell.sudo usermod -s \/usr\/sbin\/nologin tunneluser\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f Ubuntu) \/usr\/sbin\/nologin \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b\u0435 \/etc\/shells. \u0422\u043e\u0433\u0434\u0430 sshd \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u0440\u043e\u0441. \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0445:echo \/usr\/sbin\/nologin | sudo tee -a \/etc\/shells\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 tunneluser \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 .ssh \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430. \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u0432 \u0435\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435:sudo su &#8212; tunneluser -s \/bin\/bashmkdir -p ~\/.sshchmod 700 ~\/.sshexit\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 .ssh \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f tunneluser\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 tunneluser, \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 .ssh \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 700  \u0417\u0430\u043f\u0440\u0435\u0442\u0438\u043c \u0432\u0445\u043e\u0434 \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e \u0434\u043b\u044f tunneluser. \u0421\u043d\u043e\u0432\u0430 \u043e\u0442\u043a\u0440\u043e\u0435\u043c \/etc\/ssh\/sshd_config \u0438 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0434\u043e\u0431\u0430\u0432\u0438\u043c:Match User tunneluser    PasswordAuthentication no\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c sshd:sudo systemctl restart sshd\u0422\u0435\u043f\u0435\u0440\u044c tunneluser \u0441\u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0439\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\u0422\u0430\u043a\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 psmisc, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442. \u0412 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u0430\u0445 VPS \u0443\u0442\u0438\u043b\u0438\u0442\u0430 fuser \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u0430 \u043e\u043d\u0430 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0443 \u0434\u043b\u044f \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u0442\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u044b\u0432\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f.sudo apt install -y psmisc\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 psmisc \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u0435\u043c tunneluser\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c psmisc (\u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b fuser) \u0438 \u0437\u0430\u0434\u0430\u0451\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c  \u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 VPS \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.\u0428\u0430\u0433 2. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0412\u0441\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435: Raspberry Pi, Orange Pi, \u0441\u0442\u0430\u0440\u043e\u043c \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.2.1. \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c SSH-\u043a\u043b\u044e\u0447\u0414\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 VPS \u0431\u0435\u0437 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043f\u0430\u0440\u0430 \u043a\u043b\u044e\u0447\u0435\u0439. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c ed25519: \u043e\u043d \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435, \u0447\u0435\u043c RSA, \u0430 \u043a\u043b\u044e\u0447\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 -a 100 \u0437\u0430\u0434\u0430\u0451\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0443\u043d\u0434\u043e\u0432 KDF (\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430). \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0435\u0448\u0438\u0442\u0435 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u0430\u0440\u043e\u043b\u0435\u043c, \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0435\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0431\u0435\u0437 \u043f\u0430\u0440\u043e\u043b\u044f, \u0447\u0442\u043e\u0431\u044b autossh \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043d\u043e \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c -a 100 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435.ssh-keygen -t ed25519 -a 100 -C &#171;home-to-vps-tunnel&#187;\u041d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enter \u0434\u0432\u0430\u0436\u0434\u044b  \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u0441\u0442\u044b\u043c.2.2. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c autossh\u041e\u0431\u044b\u0447\u043d\u044b\u0439 SSH \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043f\u0440\u0438 \u043e\u0431\u0440\u044b\u0432\u0435. \u0415\u0441\u043b\u0438 \u0441\u0432\u044f\u0437\u044c \u043f\u0440\u043e\u043f\u0430\u0434\u0451\u0442, \u043f\u043e\u0440\u0442\u044b \u043d\u0430 VPS \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u00ab\u0432\u0438\u0441\u0435\u0442\u044c\u00bb \u0432 \u0437\u0430\u043d\u044f\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438, \u0438 \u043d\u043e\u0432\u044b\u0439 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442\u0441\u044f. autossh \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443: \u043e\u043d \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.sudo apt updatesudo apt install -y autossh2.3. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0430\u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0437\u0430\u0432\u0435\u0434\u0451\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0412 \u043d\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u044b \u043f\u043e\u0440\u0442\u043e\u0432: \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u043d\u0430 VPS \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.sudo nano \/etc\/sshtunnels\/services.conf\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e:# Home Assistant8123:8123# Jellyfin8096:8096# code-server8443:8443# SSH \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 (\u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c VPS)2222:22\u0424\u043e\u0440\u043c\u0430\u0442: \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439_\u043f\u043e\u0440\u0442_\u043d\u0430_VPS:\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439_\u043f\u043e\u0440\u0442_\u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e_\u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0421\u0442\u0440\u043e\u043a\u0438, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 #, \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f.\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0431\u0440\u043e\u0441 SSH: \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0442\u0430\u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 2222. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u0430 \u0432\u0445\u043e\u0434 \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e \u043e\u0442\u043a\u043b\u044e\u0447\u0451\u043d.2.4. \u041f\u0438\u0448\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c services.conf \u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f autossh.sudo nano \/usr\/local\/bin\/tunnel-manager.sh\u0421\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a (\u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 REMOTE_HOST \u0438 \u043f\u0443\u0442\u044c \u043a \u043a\u043b\u044e\u0447\u0443 \u043d\u0430 \u0441\u0432\u043e\u0438):#!\/bin\/bashREMOTE_USER=&#187;tunneluser&#187;REMOTE_HOST=&#187;123.123.123.123&#8243;         # \u0432\u0430\u0448 IP VPSSSH_KEY=&#187;\/home\/pi\/.ssh\/id_ed25519&#187;    # \u043f\u0443\u0442\u044c \u043a \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443SSH_PORT=&#187;22&#8243;CONFIG_FILE=&#187;\/etc\/sshtunnels\/services.conf&#187;FORWARD_OPTS=&#187;&#187;while IFS=: read -r remote_port local_port; do    # \u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0443\u0441\u0442\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438    [[ -z &#171;$remote_port&#187; || &#171;$remote_port&#187; =~ ^# ]] &amp;&amp; continue    # \u0423\u0431\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443, \u0435\u0441\u043b\u0438 \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0443\u043f\u0430\u043b \u0438 \u043f\u043e\u0440\u0442 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0437\u0430\u043d\u044f\u0442    ssh -p &#171;$SSH_PORT&#187; -i &#171;$SSH_KEY&#187; &#171;$REMOTE_USER@$REMOTE_HOST&#187; \\        &#171;command -v fuser &amp;&amp; fuser -k ${remote_port}\/tcp 2&gt;\/dev\/null || true&#187;    FORWARD_OPTS=&#187;$FORWARD_OPTS -R ${remote_port}:localhost:${local_port}&#187;done &lt; &#171;$CONFIG_FILE&#187;echo &#171;\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u0438 \u043a $REMOTE_HOST \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438: $FORWARD_OPTS&#187;exec autossh -M 0 \\    -o &#171;ServerAliveInterval=30&#187; \\    -o &#171;ServerAliveCountMax=3&#187; \\    -o &#171;ExitOnForwardFailure=yes&#187; \\    -o &#171;StrictHostKeyChecking=no&#187; \\    -o &#171;GatewayPorts=yes&#187; \\    -N -T \\    -i &#171;$SSH_KEY&#187; \\    -p &#171;$SSH_PORT&#187; \\    $FORWARD_OPTS \\    &#171;$REMOTE_USER@$REMOTE_HOST&#187;\u0421\u043a\u0440\u0438\u043f\u0442&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-480660","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/480660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=480660"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/480660\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=480660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=480660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=480660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}