]> www.wagner.pp.ru Git - sites/home_page.git/blobdiff - hints/ssh.html
Recoded to utf-8
[sites/home_page.git] / hints / ssh.html
index eae874190066b19c8315055f432567496f396757..793a8f3ef47247876333bd97a1f4c03ca9aced06 100644 (file)
@@ -1,48 +1,48 @@
-<html><head><title>ðÏ ssh ÞÅÒÅÚ firewall-Ù</title></head>
-<meta name="description" content="óËÒÉÐÔ ÄÌÑ ÈÏÖÄÅÎÉÑ ÐÏ ssh ×ÎÕÔÒØ
-ÌÏËÁÌØÎÙÈ ÓÅÔÅÊ, ÅÓÌÉ Õ ×ÁÓ ÅÓÔØ ÌÏÇÉΠÎÁ gateway">
+<html><head><title>По ssh через firewall-ы</title></head>
+<meta name="description" content="Скрипт для хождения по ssh внутрь
+локальных сетей, если у вас есть логин на gateway">
 <body>
 
 
-<h1>ðÏ ssh ÞÅÒÅÚ firewall-Ù</h1>
+<h1>По ssh через firewall-ы</h1>
 <p>
-îÅÔ ÎÉÞÅÇÏ ÓÌÏÖÎÏÇÏ × ÔÏÍ, ÞÔÏÂÙ ÚÁÊÔÉ ÐÏ ssh ÎÁ ÍÁÛÉÎÕ ÚÁ ÆÁÊÒ×ÏÌÌ-ÏÍ Ó
-NAT, ÅÓÌÉ Õ ×ÁÓ ÅÓÔØ ÌÏÇÉΠÎÁ ÓÁÍ firewall. ïÓÏÂÅÎÎÏ, ÅÓÌÉ ÎÁ ÜÔÏÍ
-firewall-Å ÕÓÔÁÎÏ×ÌÅΠnetcat.
+Нет ничего сложного в том, чтобы зайти по ssh на машину за файрволл-ом с
+NAT, если у вас есть логин на сам firewall. Особенно, если на этом
+firewall-е установлен netcat.
 </p>
 <p>
-õ openssh ÅÓÔØ ÐÏÌÅÚÎÁÑ ÏÐÃÉÑ ProxyCommand, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ
-ÄÌÑ ÜÔÏÊ ÃÅÌÉ. îÁÐÒÉÍÅÒ ÍÏÖÎÏ ÎÁÐÉÓÁÔØ × Ó×ÏÊ <tt>.ssh/config</tt>
+У openssh есть полезная опция ProxyCommand, которая может быть использована
+для этой цели. Например можно написать в свой <tt>.ssh/config</tt>
 
 </p><pre> Host *.intranet.mycompany.com
  ProxyCommand ssh firewall.mycompany.com nc -q 0 %h 22
 </pre>
 <p>
-ðÏÓÌÅ ÜÔÏÇÏ ÐÒÉ ÐÏÐÙÔËÅ ÐÏÊÔÉ ÐÏ ssh ÎÁ ÌÀÂÏÊ ÈÏÓÔ × ÄÏÍÅÎÅ
-intranet.mycompany.com ÂÕÄÅÔ ÐÒÏÉÚ×ÏÄÉÔØÓÑ ÚÁÐÕÓË netcat ÎÁ ÍÁÛÉÎÅ
-firewall.mycompany.com, ËÏÔÏÒÙÊ É ÂÕÄÅÔ ÄÏÓÔÁ×ÌÑÔØ ÉÎÆÏÒÍÁÃÉÀ ÏÔ ×ÁÛÅÇÏ
-ssh ÎÁ 22 ÐÏÒÔ ÔÒÅÂÕÅÍÏÊ ÍÁÛÉÎÙ (ÏÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÏÐÃÉÀ -q 0).
+После этого при попытке пойти по ssh на любой хост в домене
+intranet.mycompany.com будет производиться запуск netcat на машине
+firewall.mycompany.com, который и будет доставлять информацию от вашего
+ssh на 22 порт требуемой машины (обратите внимание на опцию -q 0).
 </p>
 <p>
-ðÒÏÂÌÅÍÙ ×ÏÚÎÉËÁÀÔ ÅÓÌÉ ×ÁÛÁ ÍÁÛÉÎÁ &#8212; ÎÏÕÔÂÕË, É ÎÁÈÏÄÉÔÓÑ ÔÏ ×
-ËÏÒÐÏÒÁÔÉ×ÎÏÍ ÉÎÔÒÁÎÅÔÅ, ÔÏ ÔÏÌØËÏ ÓÎÁÒÕÖÉ.
+Проблемы возникают если ваша машина &#8212; ноутбук, и находится то в
+корпоративном интранете, то только снаружи.
 </p>
-<p> îÉÖÅÐÒÉ×ÅÄÅÎÎÙÊ ÛÅÌÌÏ×ÓËÉÊ ÓËÒÉÐÔ ÜÔÕ ÐÒÏÂÌÅÍÕ ÒÅÛÁÅÔ. ë ÎÅÍÕ
-ÉÍÅÅÔÓÑ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ, × ËÏÔÏÒÏÍ ÏÐÉÓÙ×ÁÅÔÓÑ ÓÐÉÓÏË nat-ÓÅÔÅÊ, ×
-ËÏÔÏÒÙÅ ÈÏÞÅÔÓÑ ÈÏÄÉÔØ ÐÏ ssh. 
+<p> Нижеприведенный шелловский скрипт эту проблему решает. К нему
+имеется файл конфигурации, в котором описывается список nat-сетей, в
+которые хочется ходить по ssh. 
 </p><p>
-ðÒÅÄÕÓÍÏÔÒÅÎÙ Ä×Å ÄÉÒÅËÔÉ×Ù:
+Предусмотрены две директивы:
 </p><dl>
 <dt>add_domain <i>domain</i> <i>host...</i>
-</dt><dd>úÁÄÁÅÔ ÓÐÉÓÏË ÈÏÓÔÏ×, ËÏÔÏÒÙÅ ÐÒÉÎÁÄÌÅÖÁÔ ÎÅËÏÔÏÒÏÊ ÓÅÔÉ. ÷ ÓÌÕÞÁÅ
-ÅÓÌÉ ÓËÒÉÐÔ ×ÙÚ×ÁΠӠÕËÁÚÁÎÉÅÍ ÏÄÎÏÇÏ ÉÚ ÜÔÉÈ ÈÏÓÔÏ× ÂÅÚ ÄÏÍÅÎÁ,
-ÓÞÉÔÁÔØ, ÞÔÏ ÈÏÓÔ ÐÒÉÎÁÄÌÅÖÉÔ ÕËÁÚÁÎÎÏÍÕ ÄÏÍÅÎÕ
+</dt><dd>Задает список хостов, которые принадлежат некоторой сети. В случае
+если скрипт вызван с указанием одного из этих хостов без домена,
+считать, что хост принадлежит указанному домену
 </dd><dt>proxy <i>proxy_host</i> <i>domain_mask</i>
-</dt><dd>õËÁÚÙ×ÁÅÔ ÎÁ ËÁËÏÊ ÍÁÛÉÎÅ ÓÌÅÄÕÅÔ ÚÁÐÕÓËÁÔØ netcat ÄÌÑ ÄÏÓÔÕÐÁ Ë
-ÈÏÓÔÁÍ ÕËÁÚÁÎÎÏÇÏ ÄÏÍÅÎÁ. <i>domain_mask</i> ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ Ú×ÅÚÄÏÞËÉ É
-ÄÒÕÇÉÅ ÍÅÔÁÓÉÍ×ÏÌÙ, ÄÏÐÕÓÔÉÍÙÅ × ËÏÍÁÎÄÅ <b>case</b> shell. ó ÍÁÓËÏÊ
-ÓÏÐÏÓÔÁ×ÌÑÀÔÓÑ ÉÍÅÎÁ ÈÏÓÔÏ×, ÄÏÐÏÌÎÅÎÎÙÅ ÄÏÍÅÎÎÙÍÉ ÉÍÅÎÁÍÉ ×
-ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ËÏÍÁÎÄÏÊ add_domain.
+</dt><dd>Указывает на какой машине следует запускать netcat для доступа к
+хостам указанного домена. <i>domain_mask</i> может содержать звездочки и
+другие метасимволы, допустимые в команде <b>case</b> shell. С маской
+сопоставляются имена хостов, дополненные доменными именами в
+соответствии с командой add_domain.
 </dd>
 <table border="0"><tbody><tr>
 <td bgcolor="#000000">
@@ -85,7 +85,7 @@ source <font color="#ff40ff">${</font><font color="#ff40ff">HOME</font><font col
 </pre></font>
 </td></tr></tbody></table>
 
-æÁÊÌ .rsrc ÍÏÖÅÔ ×ÙÇÌÑÄÅÔØ, ÎÁÐÒÉÍÅÒ, ×ÏÔ ÔÁË:
+Файл .rsrc может выглядеть, например, вот так:
 
 <table border="0"><tbody><tr>
 <td bgcolor="#000000">
@@ -96,18 +96,18 @@ source <font color="#ff40ff">${</font><font color="#ff40ff">HOME</font><font col
 </pre></font>
 </td></tr></tbody></table>
 
-÷ ÒÅÚÕÌØÔÁÔÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÁËÏÇÏ ÆÁÊÌÁ
+В результате использования такого файла
 <ol>
-<li> ëÏÒÏÔËÉÅ ÉÍÅÎÁ ÈÏÓÔÏ×  dragon, vasilisk É hydra ÂÕÄÕÔ ÒÁÓÛÉÒÑÔÓÑ
-ÄÏ dragon.home.ru, vasilisk.home.ru etc, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, × ËÁËÏÊ
-ÓÅÔÉ ÓÅÊÞÁÓ ÍÁÛÉÎÁ.
-</li><li> áÎÁÌÏÇÉÞÎÏ ÉÍÅÎÁ ÈÏÓÔÏ× elk, ibex etc ÂÕÄÕÔ ÉÓËÁÔØÓÑ × ÄÏÍÅÎÅ
+<li> Короткие имена хостов  dragon, vasilisk и hydra будут расширятся
+до dragon.home.ru, vasilisk.home.ru etc, независимо от того, в какой
+сети сейчас машина.
+</li><li> Аналогично имена хостов elk, ibex etc будут искаться в домене
 kontora.ru
-</li><li> ïÂÒÁÝÅÎÉÑ Ë ÈÏÓÔÁÍ ÄÏÍÅÎÁ kontora.ru ÂÕÄÅÔ ÐÒÏÉÓÈÏÄÉÔØ ÞÅÒÅÚ ÐÒÏËÓÉ
-gw.kontora.ru, ÅÓÌÉ ÔÏÌØËÏ ÍÙ ÎÅ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ ËÏÎÔÏÒÙ (É ÐÏ dhcp ÎÁÍ
-ÎÅ ÏÔÄÁÌÉ ÄÏÍÅÎÎÏÅ ÉÍÑ kontora.ru)
-</li><li> ïÂÒÁÝÅÎÉÑ Ë ÈÏÓÔÁÍ home.ru ÂÕÄÕÔ ÐÒÏÉÓÈÏÄÉÔØ ÞÅÒÅÚ gw.home.ru, ÅÓÌÉ
-ÔÏÌØËÏ ÍÙ ÎÅ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ home.ru
+</li><li> Обращения к хостам домена kontora.ru будет происходить через прокси
+gw.kontora.ru, если только мы не в локальной сети конторы (и по dhcp нам
+не отдали доменное имя kontora.ru)
+</li><li> Обращения к хостам home.ru будут происходить через gw.home.ru, если
+только мы не в локальной сети home.ru
 </li></ol>
 
 </dl></body></html>