Pull to refresh

Подключение интернет-клиента «Сбербанк» к Ubuntu через rdesktop

Reading time 2 min
Views 5K
Я постепенно перевожу все компьютеры в организации на Linux. Дистрибутив — Ubuntu, как самый дружелюбный к конечному пользователю.
В связи с этим, естественно, возникают разного рода проблемы, которые приходится решать или обходить.
Одна из этих проблем — это бухгалтерия. Я не стал экспериментировать и запускать 1С под wine, потому что кроме 1С есть еще некоторое количество программ, которые активно используются бухгалтерами, и с этой 1С обмениваются данными.
С незапамятных времен у нас есть лицензия на win2003 сервер, с 5-ю клиентскими лицензиями для сервера терминалов. Я, честно говоря, не уверен, в том, что я правильно формулирую, но думаю, что знатоки поправят.
Сам этот сервер давным-давно уже был похоронен, и все работает на связке FreeBSD + SAMBA + bind + dhcpd, но лицензия осталась.
Собственно, было принято решение на отдельной машинке поднять Vmware, в ней — win, а в него уже поставить все необходимые бухгалтерские программы.

Собственно, проблема


Сбербанк при заключении договора дает USB-девайс — устройство чтения смарт-карт, и непосредственно карточку (очень на симку похожую), где хранятся пользовательские ключи и сертификаты. Этот девайс предполагается подключать к компу, на котором запускается интернет-клиент.
Подключение его в сервер — как оказалось, неправильное решение, поскольку клиент, подключенный к этому серверу по RDP не может воспользоваться этим ключом. В устройствах он есть, винда даже предлагает его безопасно извлечь. Но при включении интернет-клиента — «Пустой список считывателей смарт-карт».

Я не сталкивался раньше ни с интернет-клиентом Сбера, ни с тонкостями работы RDP-протокола, поэтому для меня это было сюрпризом.
Я выяснил, что смарт-карту можно использовать, подключившись к серверу по VNC, благо wmvare это позволяет. Но ситуация, когда бухгалтер, чтобы зайти в интернет-банк, вынужден открывать еще одну сессию винды, мне как-то не понравилась.

Решение оказалось довольно простым


Rdesktop, оказывается, умеет транслировать смарт-карты с клиента на сервер. Но под Ubuntu эта возможность не реализована, то есть пакет в репозитории собран без поддержки смарт-карт.
Пересобираем
wget downloads.sourceforge.net/project/rdesktop/rdesktop/1.6.0/rdesktop-1.6.0.tar.gz?use_mirror=sunet&ts=1279511105
tar -xvf rdesktop-1.6.0.tar.gz
cd rdesktop-1.6.0
aptitude install libpcsclite-dev pcscd # - вот об этом нигде не написано. Одно упоминание на багтрекере (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=546713)
./configure --with-libpcsclite-dev --enable-smartcard
make
make install
rdesktop -r scard:"Gemplus GemPC Key SmartCard Reader"="Gemplus GemPC Key SmartCard Reader"

Собственно, как выяснилось, для включения поддержки смарт-карт недостаточно просто указать ./configure --enable-smartcard — все равно при запуске rdesktop говорит, что собран без их поддержки. Необходимо установить libpcsclite-dev для того, чтобы все заработало как надо.

В итоге


Бухгалтер работает с интернет-клиентом без проблем в той же RDP-сессии, что открыта для 1С и прочего. Что, собственно, и требовалось.
Tags:
Hubs:
+8
Comments 26
Comments Comments 26

Articles