{"id":314415,"date":"2020-12-07T03:01:03","date_gmt":"2020-12-07T03:01:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=314415"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=314415","title":{"rendered":"\u0414\u043e\u0441\u0442\u0443\u043f \u043a ssh \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 \u043e\u0447\u0435\u043d\u044c \u0437\u0430\u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0412 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u043c\u0430\u0448\u0438\u043d\u044b \u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0432\u043e\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u043a \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 wifi-\u0441\u0435\u0442\u0438 \u0438 \u0447\u0438\u0442\u0430\u043b \u043d\u043e\u0432\u043e\u0441\u0442\u0438. \u041a \u0441\u0432\u043e\u0435\u043c\u0443 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u044e \u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u0439\u0442\u044b \u044f \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443. \u0417\u043d\u0430\u044f \u043f\u0440\u043e <a href=\"https:\/\/github.com\/sshuttle\/sshuttle\" rel=\"nofollow\">sshuttle<\/a> (\u0438 \u0431\u0443\u0434\u0443\u0447\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043f\u043e\u043a\u043b\u043e\u043d\u043d\u0438\u043a\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430) \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c sshuttle \u0441\u0435\u0441\u0441\u0438\u044e \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u043d\u043e \u043d\u0435 \u0442\u0443\u0442-\u0442\u043e \u0431\u044b\u043b\u043e. \u041f\u043e\u0440\u0442 22 \u0431\u044b\u043b \u043d\u0430\u0433\u043b\u0443\u0445\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c nginx \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 443 \u043e\u0442\u0432\u0435\u0447\u0430\u043b \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e. \u041a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044e \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u043e\u0440 <a href=\"https:\/\/github.com\/yrutschle\/sslh\" rel=\"nofollow\">sslh<\/a>. <a name=\"habracut\"><\/a>\u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c gentoo \u0438 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0432 \u0444\u0430\u0439\u043b \/etc\/conf.d\/sslh:  <\/p>\n<pre><code class=\"bash\">DAEMON_OPTS=&quot;-p 0.0.0.0:443 --ssl 127.0.0.1:8443 --ssh 127.0.0.1:22 --user nobody&quot;<\/code><\/pre>\n<p>  \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u0430, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u0440\u0442 443 \u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442  <\/p>\n<ul>\n<li>8433 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 https (\u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u0440\u0442\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 nginx)<\/li>\n<li>22 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 ssh<\/li>\n<\/ul>\n<p>\u041d\u043e \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c ssh \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043c\u0435\u043d\u044f \u043e\u043f\u044f\u0442\u044c \u043f\u043e\u0441\u0442\u0438\u0433\u043b\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u0430. \u0412\u0438\u0434\u0438\u043c\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u043b\u0430\u0441\u044c \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e \u043f\u043e\u0440\u0442\u0430\u043c, \u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f deep packet investigation. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0437\u0430\u0434\u0430\u0447\u0430 \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442\u0441\u044f. Ssh \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430\u0434\u043e \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u0432 https. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e \u044d\u0442\u043e \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0443 <a href=\"https:\/\/github.com\/vi\/websocat\" rel=\"nofollow\">websocat<\/a>. \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u043c\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432. \u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u042f \u0434\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 packer \u043e\u0442 hashicorp \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:  <\/p>\n<pre><code class=\"json\">{   &quot;min_packer_version&quot;: &quot;1.6.5&quot;,   &quot;builders&quot;: [     {       &quot;type&quot;: &quot;docker&quot;,       &quot;image&quot;: &quot;ubuntu:20.04&quot;,       &quot;privileged&quot;: true,       &quot;discard&quot;: true,       &quot;volumes&quot;: {         &quot;{{pwd}}&quot;: &quot;\/output&quot;       }     }   ],   &quot;provisioners&quot;: [     {       &quot;type&quot;: &quot;shell&quot;,       &quot;skip_clean&quot;: true,       &quot;environment_vars&quot;: [         &quot;DEBIAN_FRONTEND=noninteractive&quot;       ],       &quot;inline&quot;: [         &quot;apt-get update &amp;&amp; apt-get install -y git curl gcc libssl-dev pkg-config gcc-arm-linux-gnueabihf&quot;,         &quot;curl --proto '=https' --tlsv1.2 -sSf https:\/\/sh.rustup.rs &gt;\/tmp\/rustup.sh &amp;&amp; chmod +x \/tmp\/rustup.sh &amp;&amp; \/tmp\/rustup.sh -y&quot;,         &quot;git clone https:\/\/github.com\/vi\/websocat.git &amp;&amp; cd websocat\/&quot;,         &quot;. $HOME\/.cargo\/env &amp;&amp; cargo build --release --features=ssl&quot;,         &quot;printf '[target.armv7-unknown-linux-gnueabihf]\\nlinker = \\&quot;arm-linux-gnueabihf-gcc\\&quot;\\n' &gt;$HOME\/.cargo\/config&quot;,         &quot;rustup target add armv7-unknown-linux-gnueabihf&quot;,         &quot;cargo build --target=armv7-unknown-linux-gnueabihf --release&quot;,         &quot;strip target\/release\/websocat&quot;,         &quot;tar czf \/output\/websocat.tgz target\/armv7-unknown-linux-gnueabihf\/release\/websocat target\/release\/websocat&quot;,         &quot;chown --reference=\/output \/output\/websocat.tgz&quot;       ]     }   ] } <\/code><\/pre>\n<p>  \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u0443 \u043c\u0435\u043d\u044f \u043d\u0430 ubuntu 20.04, \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 nvidia tegra jetson tk1, \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u044f \u0434\u0435\u043b\u0430\u044e \u043a\u0440\u043e\u0441\u0441-\u0441\u0431\u043e\u0440\u043a\u0443 \u043f\u043e\u0434 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 armv7. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 ssl, \u0442\u0430\u043a \u043a\u0430\u043a ssl termination \u0443 \u043c\u0435\u043d\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 nginx, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f nginx \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">http {     server {         listen 0.0.0.0:8443 ssl;         server_name your.host.com;         ssl_certificate \/etc\/letsencrypt\/live\/your.host.com\/fullchain.pem;         ssl_certificate_key \/etc\/letsencrypt\/live\/your.host.com\/privkey.pem;         location \/wstunnel\/ {             proxy_pass http:\/\/127.0.0.1:8022;             proxy_http_version 1.1;             proxy_set_header Upgrade $http_upgrade;             proxy_set_header Connection &quot;Upgrade&quot;;         }     } } <\/code><\/pre>\n<p>  Websocat \u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e \u0438\u0437 \u043a\u0440\u043e\u043d\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u044e\u0437\u0435\u0440\u0430:  <\/p>\n<pre><code class=\"bash\">* * * * * netstat -lnt|grep -q :8022 || $HOME\/bin\/websocat -E --binary ws-l:127.0.0.1:8022 tcp:127.0.0.1:22|logger -t websocat &amp;<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u0448\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">ssh -o ProxyCommand='websocat --binary wss:\/\/your.host.com\/wstunnel\/' your.host.com<\/code><\/pre>\n<p>  \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0432 https \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0443\u044e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c? \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:  <\/p>\n<pre><code class=\"bash\">ssh -o ProxyCommand='websocat --binary wss:\/\/your.host.com\/wstunnel\/' your.host.com 'dd if=\/dev\/zero count=32768 bs=8192' &gt;\/dev\/null<\/code><\/pre>\n<p>  \u0412 \u043c\u043e\u0438\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432 2 \u0440\u0430\u0437\u0430. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 ws:\/\/, \u0442.\u0435. http, \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 \u043d\u0435\u043e\u0431\u0435\u0440\u043d\u0443\u0442\u043e\u043c\u0443 ssh.<br \/>  \u0410 \u0432\u043e\u0442 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0441\u0441\u0438\u044e sshuttle:  <\/p>\n<pre><code class=\"bash\">sshuttle -e 'ssh -o ProxyCommand=&quot;websocat --binary wss:\/\/your.host.com\/wstunnel\/&quot;' -r your.host.com 0\/0 -x $(dig +short your.host.com)\/32<\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u0432\u0438\u0437\u0438\u0442\u0435 \u0432 \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441 \u044f \u0443\u0431\u0435\u0434\u0438\u043b\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0431\u043e\u043d\u0443\u0441\u0430 \u0440\u0435\u0437\u043a\u043e \u0443\u043f\u0430\u043b\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0447\u0435\u0440\u0435\u0437 ssh \u0441 \u043b\u0435\u0432\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.<\/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\/post\/531590\/\"> https:\/\/habr.com\/ru\/post\/531590\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0412 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u043c\u0430\u0448\u0438\u043d\u044b \u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0432\u043e\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u043a \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 wifi-\u0441\u0435\u0442\u0438 \u0438 \u0447\u0438\u0442\u0430\u043b \u043d\u043e\u0432\u043e\u0441\u0442\u0438. \u041a \u0441\u0432\u043e\u0435\u043c\u0443 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u044e \u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u0439\u0442\u044b \u044f \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443. \u0417\u043d\u0430\u044f \u043f\u0440\u043e <a href=\"https:\/\/github.com\/sshuttle\/sshuttle\" rel=\"nofollow\">sshuttle<\/a> (\u0438 \u0431\u0443\u0434\u0443\u0447\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043f\u043e\u043a\u043b\u043e\u043d\u043d\u0438\u043a\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430) \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c sshuttle \u0441\u0435\u0441\u0441\u0438\u044e \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u043d\u043e \u043d\u0435 \u0442\u0443\u0442-\u0442\u043e \u0431\u044b\u043b\u043e. \u041f\u043e\u0440\u0442 22 \u0431\u044b\u043b \u043d\u0430\u0433\u043b\u0443\u0445\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c nginx \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 443 \u043e\u0442\u0432\u0435\u0447\u0430\u043b \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e. \u041a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044e \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u043e\u0440 <a href=\"https:\/\/github.com\/yrutschle\/sslh\" rel=\"nofollow\">sslh<\/a>. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-314415","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314415","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=314415"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314415\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=314415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=314415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=314415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}