<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.mna.tom.ru/index.php?action=history&amp;feed=atom&amp;title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C</id>
		<title>SSH туннель - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.mna.tom.ru/index.php?action=history&amp;feed=atom&amp;title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C"/>
		<link rel="alternate" type="text/html" href="https://wiki.mna.tom.ru/index.php?title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C&amp;action=history"/>
		<updated>2026-05-18T10:54:54Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://wiki.mna.tom.ru/index.php?title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C&amp;diff=147&amp;oldid=prev</id>
		<title>Admin в 02:48, 18 июля 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.mna.tom.ru/index.php?title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C&amp;diff=147&amp;oldid=prev"/>
				<updated>2016-07-18T02:48:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 02:48, 18 июля 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot; &gt;Строка 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Строим туннель из мира в сеть.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Строим туннель из мира в сеть.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; $ ssh -f -N -L 4080:192.168.0.10:80 nameuser@88.77.66.55&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; $ ssh -f -N -L 4080:192.168.0.10:80 nameuser@88.77.66.55&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; или так:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; $ ssh -N -L 4080:192.168.0.10:80 nameuser@88.77.66.55&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Аналогично, вводим на своём хосте:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Аналогично, вводим на своём хосте:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikipedia:diff:version:1.11a:oldid:41:newid:147 --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.mna.tom.ru/index.php?title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C&amp;diff=41&amp;oldid=prev</id>
		<title>Admin: Новая страница: «category:Linux SSH-туннели — пробрасываем порт Mna:  ssh -N -L 4080:192.168.1.45:80 root@Ext_address Объяснения ниже.…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.mna.tom.ru/index.php?title=SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C&amp;diff=41&amp;oldid=prev"/>
				<updated>2014-11-07T07:02:37Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/index.php/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Linux&quot; title=&quot;Категория:Linux&quot;&gt;category:Linux&lt;/a&gt; SSH-туннели — пробрасываем порт Mna:  ssh -N -L 4080:192.168.1.45:80 root@Ext_address Объяснения ниже.…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[category:Linux]]&lt;br /&gt;
SSH-туннели — пробрасываем порт&lt;br /&gt;
Mna:&lt;br /&gt;
 ssh -N -L 4080:192.168.1.45:80 root@Ext_address&lt;br /&gt;
Объяснения ниже. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.&lt;br /&gt;
&lt;br /&gt;
Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.&lt;br /&gt;
&lt;br /&gt;
Итак. По-порядку.&lt;br /&gt;
&lt;br /&gt;
Строим туннель из сети в мир.&lt;br /&gt;
 $ ssh -f -N -R 2222:10.11.12.13:22 username@99.88.77.66&lt;br /&gt;
теперь введя на хосте 99.88.77.66:&lt;br /&gt;
 $ ssh -p2222 localhost&lt;br /&gt;
мы попадём на хост 10.11.12.13.&lt;br /&gt;
&lt;br /&gt;
Таким-же образом можно получить доступ к любому другому ресурсу, например:&lt;br /&gt;
 $ ssh -f -N -R 2080:10.11.12.14:80 username@99.88.77.66&lt;br /&gt;
&lt;br /&gt;
Введя на хосте 99.88.77.66:&lt;br /&gt;
 $ w3m -dump http://localhost:2080&lt;br /&gt;
получим дамп web-ресурса на 10.11.12.14.&lt;br /&gt;
&lt;br /&gt;
Строим туннель из мира в сеть.&lt;br /&gt;
 $ ssh -f -N -L 4080:192.168.0.10:80 nameuser@88.77.66.55&lt;br /&gt;
&lt;br /&gt;
Аналогично, вводим на своём хосте:&lt;br /&gt;
 $ w3m -dump http://localhost:4080&lt;br /&gt;
&lt;br /&gt;
и получаем доступ к web-ресурсу узла 192.168.0.10, который находится за хостом 88.77.66.55.&lt;br /&gt;
&lt;br /&gt;
Поддерживаем туннели в поднятом состоянии&lt;br /&gt;
Ни для кого не секрет, что связь иногда обрывается, туннели при этом будут отваливаться по таймауту.&lt;br /&gt;
Чтобы не утруждать себя дополнительным монотонным вбиванием команды на поднятие туннеля и мониторингом этого процесса, автоматизируем его. Смело вводим:&lt;br /&gt;
&lt;br /&gt;
 $ crontab -e&lt;br /&gt;
&lt;br /&gt;
и создаём расписание примерно следующего вида:&lt;br /&gt;
&lt;br /&gt;
 TUNCMD1='ssh -f -N -R 2222:10.11.12.13:22 username@99.88.77.66'&lt;br /&gt;
 TUNCMD2='ssh -f -N -R 2080:10.11.12.14:80 username@99.88.77.66'&lt;br /&gt;
&lt;br /&gt;
 */5 * * * * pgrep -f &amp;quot;$TUNCMD1&amp;quot; &amp;amp;&amp;gt;/dev/null || $TUNCMD1&lt;br /&gt;
 */5 * * * * pgrep -f &amp;quot;$TUNCMD2&amp;quot; &amp;amp;&amp;gt;/dev/null || $TUNCMD2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сохраняемся. Проверяем по&lt;br /&gt;
&lt;br /&gt;
 $ crontab -l&lt;br /&gt;
&lt;br /&gt;
что расписание принято.&lt;br /&gt;
&lt;br /&gt;
Это лишь ещё один момент особой админской магии… Надеюсь, что лишних вопросов не должно водникнуть. С дополнительными опциями ssh можно ознакомиться в&lt;br /&gt;
&lt;br /&gt;
 $ man 1 ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
По практическому опыту — cron-задания на перезапуск абсолютно недостаточно.&lt;br /&gt;
Разве что соединение абсолютно стабильно. В реальной жизни встречается в 0% случаев.&lt;br /&gt;
Даже соединённые напрямую кабелем две сетевые карты легко могут потерять n-ное количество пакетов и tcp-соединение «упадёт».&lt;br /&gt;
Клиент и сервер будут пребывать в святой уверенности, что всё в порядке, просто вторая сторона ничего не передаёт.&lt;br /&gt;
Нужен keepalive.&lt;br /&gt;
Примерно так:&lt;br /&gt;
&lt;br /&gt;
 TCPKeepAlive yes&lt;br /&gt;
 ServerAliveInterval 300&lt;br /&gt;
 ServerAliveCountMax 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Интервал и счётчик — по вкусу.&lt;br /&gt;
Добавлять их надо либо в /etc/ssh_config, либо в ~/.ssh/config, либо прямо в команде через опцию -o.&lt;br /&gt;
В принципе, судя по man ssh_config, первую из опций можно и опустить. но, на всякий случай, пусть будет.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>