ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] ssh-imap for windows mini-howto
@ 2003-08-09 18:30 Mikhail Yakshin
  0 siblings, 0 replies; only message in thread
From: Mikhail Yakshin @ 2003-08-09 18:30 UTC (permalink / raw)
  To: devel

Приветствую!

Мне тут не по свой воле приходится довольствоваться только 
Windows-машиной, поэтому пришлось все-таки домучать способ чтения нашей 
сверхсекьюрной почты через ssh-imap из Windows. Может кому еще поможет, 
поэтому я решил это описать все...

Мини-руководство по доступу к IMAP-серверу в SSH-туннеле из Windows
===================================================================

Основная мысль используется точно такая же, как и в аналогичном способе
из UNIX-системы. В UNIX системе мы использовали для этого:

1. openssh-клиент "ssh" для организации туннеля и запуска на удаленном
сервере rimapd

2. xinetd для организации видимого "чистого" подключения на порте
локальной машины

У меня получилось сделать то же самое в Windows, используя:

1. putty suite для организации туннеля

2. wsinetd в качестве эмулятора xinetd

Как сделать то же самое по шагам:

1. Скачать необходимый софт. Все доступно под BSD и/или GPL лицензиям.

Весь putty suite - нам понадобятся практически все программы
http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip

wsinetd
http://prdownloads.sourceforge.net/wsinetd/wsinetd_0.3.8.zip?download

2. Взять putty.exe, проверить, что в принципе можно поключиться к нужному
вам хосту хотя бы с авторизацией по паролю.

3. Посмотреть на свой приватный ключ от OpenSSH. Putty-семейство не умеет
понимать напрямую этот формат ключей, поэтому придется его сконвертировать
в родной формат putty private keys (расширение ppk). Сделать это можно
с помощью puttygen.exe, загрузить ключ через меню Conversions/Import key
и просто записать его (Save private key), ничего не меняя.

4. Взять pageant.exe (это ssh key agent), загрузить, сделать Add key и
добавить файл с ключом, сгенерированным на предыдущем шаге. Проверить,
что теперь такой же коннект через putty.exe (GuI-терминал), как вы делали
на шаге 1, делается автоматически по логину и ключу.

5. Распаковать wsinetd, убить тот очень несекьюрный конфиг, что там идет
с ним и вписать в файл wsinetd.conf единственную строчку, что-то типа
такого:

PORT    50    c:\distrib\plink.exe plink -ssh greycat@lrn.ru exec 
/usr/sbin/rimapd

Здесь слово PORT замените на какой-нибудь высокий и не очень тривиально
угадываемый порт. 50 - это ограничение на одновременное число подключений
к такому порту. Можно поставить 1, но, например, Мозилла очень любит 
одновременно
3-4-5 потоками залезать на IMAP, поэтому я на всякий случай поставил 
побольше.
c:\distrib\plink.exe - путь к замечательной программе plink.exe, которая
находится все в том же архиве putty.zip. Она выполняет роль консольного
ssh клиента. greycat@lrn.ru - логин и хост, к которому коннектится. 
Авторизация
будет происходить по ключам. exec /usr/sbin/rimapd - уже знакомая фраза 
вызова
rimapd.

6. Запустить wsinetd в консоли командой wsinetd -d
Это запустит wsinetd _не_ сервисом, благодаря чему запущенная из под 
него plink
сможет успешно сконнектится с агентом pageant, висящим у вас в трее и 
получить
от него ключи. Если сделать более нормальным образом (wsinetd -i, 
поставить и
запустить соответствующий сервис NT), то почему-то plink не может найти 
ключи
и агента. У меня получилось запускать plink с параметром -p, указывая в 
конфиге
чистым текстом пароль, но это очень плохое решение, как мне кажется, 
however,
your mileage may vary (C). По крайней мере у меня не получилось 
заставить нормально
работать wsinetd в качестве сервиса - если у кого-то получится - буду рад
услышать, как.

7. Запустить почтовый клиент, добавить IMAP аккаунт, как обычно - хост - 
localhost,
порт - тот, который вы указали в качестве PORT выше. Можно пользоваться.

Замечания:

1. Я пробовал только на том, что у меня сейчас есть: Windows XP Home, 
Version 5.1,
xpsp2.030422-1633 : Service Pack 1, Mozilla Messenger 1.4-alt4 for 
Windows. Теоретически
проблем быть не должно нигде. Хотя на не-NT Windows-системах могут 
возникнуть
сложности с wsinetd.

2. Насколько я понял, wsinetd слушает указанный порт на всех 
интерфейсах, а не только
на localhost. Что просто ужасно, но с другой стороны на столь дырявой 
системе - какая
разница...

3. В принципе если совсем наплевать на секьюрити, то можно не 
авторизовываться по ключам,
а просто прописать для plink параметр -p с паролем в чистом виде, тогда 
шаги 3-4 можно
не делать ;)

WBR, Mikhail Yakshin AKA GreyCat





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-08-09 18:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-09 18:30 [devel] ssh-imap for windows mini-howto Mikhail Yakshin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git