Меню Рубрики

Freesshd сервер для windows

Простая установка сервера GIT на Windows

Предисловие или от куда взялась «бредовая» идея ставить Git на Windows

Я работаю в одной не очень большой IT-компании, которая продает свои и чужие программные решения, занимается проектами внедрения, оказывает клиентскую поддержку, проводит обучение и далее все такое в том же духе. До недавнего времени в моей маленькой команде разработки все было неплохо организовано и у нас даже был свой собственный достаточно мощный сервер. Но случилось непредвиденное и по воле злого рока один из серверов фирмы полетел, а руководство решило вместо него в стойку поставить наш сервер отдела разработки. Нам предложили «временно» переехать на любой из серверов общего назначения.

А теперь внимание! Только мы одни во всей фирме работаем на Линуксе, а все остальные сидят исключительно на Windows и сервера у нас тоже под управлением серверных редакций ОС от Билла Гейтса. И если перенос базы Redmine не вызывает особых вопросов, то задача поднять на сервере Windows сервер для Git меня сразу поставила в тупик. Но несколько часов потраченных на поиски дали мне простое работающее решение.

Изучение матчасти

Git умеет работать с четырьмя сетевыми протоколами для передачи данных: локальный, Secure Shell (SSH), Git и HTTP.

Первый вариант я не стал рассматривать, так как он подразумевает наличие сетевой шары открытой для общего доступа. Допустим, что с помощью групповых политик домена можно обезопасить данные от случайного удаления продавцем-стажером. Но как работать из дому? Ради нескольких «коммитов выходного дня» поднимать VPN?

Читаем далее и видим:

SSH — единственный из сетевых протоколов, предоставляющий доступ и на чтение, и на запись. Два других сетевых протокола (HTTP и Git) в большинстве случаев дают доступ только на чтение, поэтому даже если они вам доступны, вам всё равно понадобится SSH для записи.

Путь к конечной цели уже стал менее туманным: сначала требуется поставить сервер SSH, а далее установить одну из многочисленных сборок Git для Windows (официальную msysgit, Git Extensions, TortoiseGit, QGit и т.д.)

Выбор сервера SSH для Windows

Воспользовавшись поисковиком по сети Internet, я сделал небольшую подборку текущих реализаций SSH под Windows. Не претендую на то, что смог найти все решения в этой области, но самые популярные точно не пропустил. Итак:

Cygwin. В рамках проекта переноса функциональности Linux на Windows был портирован в том числе и OpenSSH. Библиотека проекта cygwin1.dll с реализацией SSH так же используются в большинстве других решений. Простую инструкцию с картинками по установке и настройке можно посмотреть тут. А так же рекомендую к прочтению статью из журнала «Windows IT Pro» № 7 за 2001 год — SSH в Windows.

freeSSHd. Лидер среди упоминается на форумах. Характеризуется как легкий в использовании. Лицензия позволяет бесплатно использовать в коммерческих целях. Нашел инструкцию по установке и настройке на Win2008.

WInSSHD. Самое богатое по функциональности из увиденных мною реализаций. Это хорошее профессиональное решение для обеспечения безопасности. Но для моего гвоздя — это микроскоп. Если кого-то продукт заинтересовал, то у них есть 30-дневная ознакомительная полная версия и возможность бесплатного частного использования.

KpyM Telnet/SSH Server. Плохих отзывов не заметил. Но меня смущает, что их сайт не обновляется с 2009 года, а так же на официальном форуме как-то безжизненно. С другой стороны, если продукт бесплатный и выполняет свою работу, то нет смысла заниматься развитием. Понравилось наличие в их FAQ списка других решений для SSH под Windows. Рекомендую заглянуть.

Copssh. Продукт от норвежской компании ITeF!X, в котором они к windows-реализации OpenSSH добавили красивый GUI-интерфейс администратора и некие «best practices». Именно это решение, более всего рекомендуется в обсуждении поднятия сервера Git под Windows на StackOverflow.

Случайная находка

Собственно под впечатлением ответов на StackOverflow я уже расслабился и решил было пойти проторенной моими предшественниками дорожкой. Но при изучении сайта компании ITeF!X я обнаружил, что у них есть и более подходящий для моих целей продукт — gitwin. Это оказался тот самый требуемый мне сервер Git под Windows.

Я вначале не поверил глазам — если такой чудо продукт существует, то почему о нем до сих пор не трубят на каждом шагу. Ответ нашелся в новостях компании — как оказалось программный продукт только полмесяца назад (11 октября 2013 года) выложили в общий доступ. Точнее на днях выложили бесплатную для использования версию. Платная существовала и раньше, но видимо не пользовалась особым спросом (с января 2012 года на официальном форуме компании всего две созданные темы в разделе gitwin).

Итак, что же собой представляет этот gitwin? В состав свободной версии входят:

  • Cygwin версии 1.7.25
  • OpenSSH версии 6.3
  • Git версии 1.8.4
  • Инсталятор от Itefix

На сайте целый раздел посвящен установке пакета. Кроме описания словами процесса «запуск инсталятора» -> «далее» -> «далее» -> «готово», представители компании не поленились записать все это еще на видео и выложили на YouTube. Не совсем понятно зачем это сделано и самое главное не понятно для кого?

Еще один раздел выделили для описания использования. Тут описали активацию нового пользователя для доступа по SSH, создание пары ключей и пустого репозитория. И так же кроме описания текстом дают записанный обучающий ролик:

Установка, настройка и тестирование сервера Git

Я установил на наш сервер gitwin редакции «free edition» и могу поделится только этим опытом.

1. Начинаем со скачивания инсталятора со странички продукта.

2. Запускаем инсталятор и нас спрашивают куда устанавливать продукт. Я оставил по-умолчанию в «C:\Program Files (x86)\ICW». Зачем может понадобится менять путь? Дело в том, что этот каталог станет корнем для линуксовых утилит и домашний каталог пользователя git тоже будет создан тут же «C:\Program Files (x86)\ICW\home\git\». Если есть предчувствие проблем с правами доступа, то можете поменять на менее проблемный для вас каталог.

3. В процессе установки выводятся сообщения о создании двух пользователе «SvcCOPSSH» и «git». Под первым пользователем будет работать служба «OpenSSHServer», а второй нужен собственно для обслуживания репозиториев. Пароли к этим пользователям можно узнать в конце процесса установки, если нажать на «Show details». Советую по правому щелчку скопировать вывод в буфер и сохранить на всякий случай.
3.1. Перепроверка состава пользователей показала, что инсталятор втихую создал еще одного пользователя — «sshd» с описанием «copSSH privilege separation user» и сам же отключил его. Не понятно и подозрительно…

4. Скорее всего из-за редакции «free edition» дальнейшие шаги отличались от описанных на сайте. Вместо консоли администрирования в меню Пуск/copssh поместили два пункта «01. Activate a user» и «02. Deactivate a user». Но суть процесса от этого не изменилась. Запускаем «01. Activate a user» и указываем пользователя для активации (в моем случае все тот же git), выбираем командную оболочку (выбор из bash, sftponly и false) и ставим опциональные галочки. Тут читаем внимательно:
4.1. Если нам нужна пара ключей, то оставляем включенную по-умолчанию «Create keys for public key authentication». При парольной авторизации можете снять…
4.2. Если у пользователя планируется использование его родного пользовательского каталога из C:\Users\ (или может у кого-то до сих пор C:\Documents and Settings\) тогда оставляем включенные по-умолчанию галочки «remove copssh home directory if it exists» и «Create link to user’s real home directory». Я рискнул их снять и таким образом все репозитории у меня будут запрятаны глубоко в системном каталоге Program Files.

5. После активации пользователя и создания ключей можем протестировать всю систему на работоспособность. Выбираем в меню Пуск/copssh пункт «03. Start a Unix BASH Shell» и создаем пустой репозиторий. Я не стал блистать остроумием и повторил команду с официального сайта:

$ git init —bare /home/git/repo-a
Initialized empty Git repository in /home/git/repo-a/

6. Далее тестирование переехало на мой рабочий ноут. Я успешно склонировал пустой репозиторий, закинул в него несколько файлов и запушил назад. Проблем не возникло. Перешел в другой каталог и снова склонировал репозиторий — на этот раз он был уже не пустой и содержал мой коммит с файликами. Таким образом с моей рабочей станции различия между работой с репозиторием Git на предыдущем сервере Ubuntu и на новом сервере Windows замечено не было!

Заключение

Удачно найденный gitwin оказался именно тем решением, которое я искал — запускается под Windows и создает иллюзию для пользователей, что они работают с полноценным удаленным репозиторием. Глюков пока не заметил. Но если обнаружу, то обязательно дополню данную статью.

Надеюсь, что собранные материалы окажутся кому-нибудь полезными. И хочу пожелать не боятся потратить несколько часов на поиски, если вы не уверены, что в вашей голове наиболее актуальная информация. Ведь если бы я изначально зашел на StackOverflow и выполнил все по детальному пошаговому руководству от Тима Дэвиса, то не узнал бы о существовании более короткого пути, когда вся инфраструктура поднимается и настраивается буквально в десяток кликов мышкой. Успехов!

Послесловие. Истории успехов от хабраюзеров

Я подобно Сократу с каждым новым квантом знаний понимаю как еще много того, чего я все еще не знаю. В комментариях коллеги описывают положительный опыт на заданную мною тему, который грех игнорировать. Итак:

A1lfeG вместе со своей командой далеки от Linux’а, но тем не менее ихняя установка центрального репозитория Git’а была довольно простой. В этом им помог продукт SCM Manager.

IamKarlson хорошо отзывается о решении Bonobo Git Server, которое используется у него на работе. Как плюс для себя отмечу использование веб-сервера IIS, который у нас уже работает.

Источник

FreeSSHd A Free SSH Server For Windows

SSH is a network protocol for secure data communication. Most users probably associate SSH with Linux and Unix computer systems, and webmasters or server admins may use SSH to connect to and manage dedicated Linux servers that are connected to the web or a local network.

FreeSSHd is a free SSH Server for the Windows operating system. Users can setup the SSH server on one computer system running the Windows operating system and use SSH compatible tools like Putty to connect to that computer system remotely.

The server can be setup with just a few mouse clicks. The administrator account is only needed to add users that are allowed to connect to the system in the SSH Server configuration.

Authorization can be NT authentication, passwords stored in SHA1 hashes or Public key-based. It is furthermore possible to allow shell, sftp and tunneling access individually. Having said that it should be obvious that FreeSSHd not only offers shell access to authorized users but also secure ftp and tunneling access.

Various options are available that define certain aspects of the SSH Server software. It is possible to add whitelist and blacklists of IP addresses that are allowed to connect to the server, enable event logging, set the secure FTP home path, select a specific allowed cipher, enable tunneling, telnet and check the access logs of the SSH server.

FreeSSHd is a comfortable SSH and SFTP server for the Windows operating system. Setup of the server should not pose to many difficulties even for inexperienced users. All in all a great software program that can be run manually or added to Windows services for extra comfort.

When you start the program for the first time after installation, you may want to go through all the different configuration tabs that it makes available.

The functionality is quite good. You can for instance configure a whitelist or blacklist of IP addresses to limit access to the computer. Logging is not enabled by default, which you may want to enable as well so that you know about any connection attempt made in the past.

The program is easy to use and set up, and if you require SSH access to a Windows PC, then this is one of the best options to do so.

Источник

Как установить SSH Server в Windows Server 2008

Существует несколько опций командной строки, доступных для настройки Window Server 2008 через сеть. Например, Windows Powershell, ServerManager.exe, или сервер telnet. Однако, проверенным и надежным способом, который так хорошо работал практически на всех типах устройств инфраструктуры, использующихся сегодня (включая Windows Server 2008, Cisco Routers, Linux серверы и т.д.) является SSH. В этой статье мы узнаем, как устанавливать SSH Server в Windows Server 2008.

Что такое SSH?

SSH – это безопасная оболочка (secure shell), стандарт, определенный в RFC 4251. Это сетевой протокол, который открывает безопасный канал между двумя устройствами, используя TCP порт 22. Этот канал также можно использовать для SFTP и SCP (безопасного FTP и защищенного копирования соответственно). Чтобы он работал, вам нужен безопасный сервер в системе, к которому вы подключаетесь, и безопасный клиент на клиенте, с которого вы подключаетесь.

Следует помнить, что SSH функционально совместим с различными платформами. К примеру, вы можете подключить SSH сервер на маршрутизаторе Cisco с клиента Windows, вы можете подключиться к серверу Linux с маршрутизатора Cisco, а также можете подключиться к Windows 2008 Server с клиента Linux.

Единственной возможной проблемой совместимости может стать тот факт, что существует две версии SSH, SSH версии 1 и SSH версии 2. Вы должны убедиться, что клиент и сервер поддерживают одну и ту же версию, чтобы знать, какую версию использовать при подключении. Обычно версии могут быть оговорены.

Хотя ни одна из ОС Windows не идет с SSH сервером или клиентом, их очень просто устанавливать.

Имея SSH сервер на своем Windows 2008 Server, вы можете:

  • Удаленно иметь доступ к командной строке вашего Windows 2008 Server
  • Управлять сервером через сеть, даже если вы не имеете доступа к интерфейсу GUI
  • Удаленно управлять вашим Windows 2008 Server с любого устройства, имеющего SSH клиента
  • Делать все это через зашифрованное соединение, которое может безопасно проходить даже через интернет

Какие опции сервера SSH доступны для Windows 2008 Server?

Существует ряд опций сервера SSH, доступных для Windows Server 2008. Вот лишь некоторые из тех, с которыми мне довелось иметь дело:

Как только вы запустили SSH сервер, вам понадобится SSH клиент для Windows. Вот несколько самых популярных SSH клиентов для Windows, которых мне удалось найти:

Как установить FreeSSHd — SSH сервер в Windows Server 2008?

Поскольку установка Free SSHd так проста по сравнению с другими опциями (особенно с OpenSSH в Windows), я выбрал эту версию, чтобы показать процесс установки Free SSHd. Помните, что FreeSSHd абсолютно бесплатен (как видно из его названия) для личного / некоммерческого использования, а также для коммерческого использования.

Чтобы начать процесс, я скачал FreeSSHd.exe на свою систему Windows Server 2008 и запустил загруженную программу. Графическая установка началась.

Я принял все параметры по умолчанию для установки и нажал «Установить», чтобы начать процесс.

По завершении я решил не запускать SSHd в качестве службы, однако вы можете выбрать этот вариант при желании.

Рисунок 1: Вы хотите запустить FreeSSHd в качестве службы?

Запустив FreeSSHd в качестве службы, он будет доступен независимо от того, вошли вы в консоль или нет. Я также решил выбрать создание частных ключей для SSH сервера.

Далее, я запустил ярлык FreeSSHd на рабочем столе, чтобы настроить и запустить SSH сервер.

Рисунок 2: Запуск FreeSSH приложения

Я заметил, что SSHd сервер уже работал.

Приложение FreeSSHd может предложить следующее:

  • Возможности SSH сервера и Telnet сервера
  • Опции запуска SSHd только в определенных интерфейсах
  • Различные способы аутентификации, включая интегрированную NTLM аутентификацию на Windows AD
  • Различные способы шифрования, включая AES 128, AES 256, 3DES, Blowfish и т.д.
  • Опция создания защищенного туннеля в соединении
  • Опциональный Secure FTP (sFTP) – для безопасного FTP, смотреть FreeFTPd website
  • Возможность управлять пользователями и ограничивать доступ к безопасной оболочке, безопасному туннелю и безопасному FTP
  • Возможность предоставлять доступ только определенным узлам или подсетям
  • Возможность регистрировать в журнал все подключения и команды, выполненные через FreeSSHd
  • Просмотр пользователей, подключенных в данный момент
  • Автоматическое обновление FreeSSHd

Чтобы войти, мне понадобилось выполнить две вещи:

  1. Добавить новую пользовательскую учетную запись и разрешить доступ к командной строке SSH
  2. Открыть исключения в моем брандмауэре Windows Server 2008

Чтобы добавить нового пользователя, я перешел по вкладке «Пользователи» и нажал Добавить.

Я решил установить логин для моей учетной записи локального администратора Windows. Я установил авторизацию на NTLM. Так в базе данных FreeSSHd нет локального пароля, и если пароль администратора измениться в базе данных локальной учетной записи Windows, вам не придется менять пароль в базе данных учтенной записи FreeSSHd.

Я авторизировал этого нового пользователя на вход только в SSH.

Рисунок 3: Добавление SSHd пользовательской учетной записи с NTLM авторизацией

Рисунок 4: Новая пользовательская учетная запись SSHd добавлена

Второе, что мне нужно было сделать для того, чтобы позволить себе вход, это открыть исключения брандмауэра Windows. Хотя я мог вообще отключить брандмауэр Windows вместо того, чтобы открывать порты, конечно, самой безопасной опцией было оставить брандмауэр включенным и разрешить исключение для SSH ‘ TCP порт 22.

Для этого я перешел в меню Пуск -> Администрирование -> Брандмауэр Windows с расширенной безопасностью.

Рисунок 5: Открытие брандмауэра Windows с расширенной безопасностью

Далее, я нажал на входящих правилах, а затем Новое правило.

Рисунок 6: Добавление нового входящего правила

Далее я выбрал добавление правила порта.

Рисунок 7: Выбор добавления правила для порта

Я указал только TCP порт 22.

Рисунок 8: Определение только TCP порта 22

Воспользуйтесь умолчаниями чтобы Разрешить это соединение, примените ко Всем доменам, и назовите правило на свой вкус.

Чтобы протестировать подключение, я использовал SecureCRT со своей машины Windows XP на Windows Server 2008 сервер через SSH.

Для этого я подключился к серверу через IP адрес (или имя домена). Я выбрал опцию «Принять» сертификат сервера и сохранил его.

Рисунок 9: Подключение через SSH и вход с вашим именем пользователя и паролем Windows

Я вошел на сервер, используя логин и пароль администратора.

И, успех! Я смог получить доступ к серверу через SSH!

Рисунок 10: Успешное подключение к Windows 2008 Server через SSH

Резюме

SSH – это отличный инструмент для администраторов Windows Server 2008, желающих воспользоваться возможностями удаленного управления сервером. В этой статье вы узнали, как SSH может помочь вам, вы узнали о доступных вариантах установки SSH сервера и SSH клиента, а также о том, как устанавливать одну из этих опций, FreeSSHd.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Freemake video downloader для windows 7
  • Freelancer как запустить на windows 10
  • Freedos как установить windows 7 на asus
  • Freedos lenovo как установить windows 7
  • Freedos 123 lenovo установить windows