Передо мной стояла задача – делать резервные копии накомпьютере с операционной системной Linux. Сделать то я сделал резервные копии, а что толку, если
скопировать эту копию не могу, потому что у меня только один компьютер с Linux. Решил я делать копии
на свой второй компьютер с операционной системой Windows7. Можно конечно использовать ftp, но как то это несерьезно. Я буду
использовать для копирования файлов с Linux на Windows
- scp, который использует
протокол SSH. Но вот
беда, в ОС Windows нет встроенной поддержки ssh (пора бы уже пойти навстречу людям). Ну да ладно, есть
сторонние производители разработчики ssh серверов. В прошлой статье
я установил ssh сервер –
FreeSSHd (бесплатный). Для целей резервного копирования мне нужно
использовать авторизацию по ключу, а на freeSSHd сервере, используя ключ авторизации, мне так и не
удалось подключиться с Linux
на Windows. Немного погуглив,
я решил посмотреть на Bitvise SSH Server
(он же winSSHd).
В обзорах по ssh серверам
для Windows я видел
фразу напротив этого сервера – платный, поэтому и не использовал сразу. Так
вот, я был приятно удивлен, когда решил посмотреть сколько стоит winSSHd. Оказывается, для
некоммерческого использования – бесплатно. То что надо для моих целей.
Используя сервер winSSHd появляется возможность получить
шифрованное подключение к Windows
компьютеру, шифрованное копирование файлов и шифрованный туннель.
Установка и настройка сервера winSSHd
Скачать сервер winSSHd можно по этой ссылке http://dl.bitvise.com/BvSshServer-Inst.exe
(размер файла 8,5Мб).
1.
Запускаю скачанный файл
В первом окне ставлю галочку в
графе “I agree to
accept all the terms of this License Agreement” (Лицензионное соглашение). Остальные пункты оставил не тронутыми.
Продолжаю установку нажатием кнопки Install
2.
Следующее окно – выбор редакции:
- Standart Edition – полнофункциональная
версия, ограниченная сроком работы в 30 дней, потом необходимо приобрести
лицензию;
- Personal Edition – версия
с ограниченными функциями, без ограничения срока работы, бесплатная, нельзя
использовать в коммерческих целях
Ограничения по функциям в Personal Edition:
-
для авторизации используются только локальные
пользователи Windows (не домен);
-
можно настраивать только одну Windows группу (Everyone);
-
можно настраивать только одну виртуальную
группу;
-
ограничение в 10 учетных записей Windows;
-
ограничение в 10 виртуальных учетных записей;
-
GSSAPI
(Kerberos и NTLM)
аутентификация выключена
Меня устаивает Personal edition, там я и ставлю
галочку и нажимаю ОК для продолжения.
В консольном окне выводится
процесс установки
3.
Установка завершена
4.
После нажатия кнопки ОК появляется окно Bitvise SSH Server Easy Settings
На первой вкладке Server Settings я
указал:
- использовать IP version for listening port –
Ipv4 (использовать протокол
IP четвертой
версии). Пока 6 версия у меня в локальной сети не используется.
- Open Windows Firewall – Open port(s) to local network
На второй вкладке Windows accounts:
-
убрал галочку Allow login to any Windows account
(разрешить подключение по
любой учетной записи Windows). У меня аутентификация будет по
ключу.
-
если есть необходимость заходить под
пользователем windows,
то нажимаем кнопку Add
Нажимаем кнопку lookup чтобы
выбрать учетную запись пользователя Windows, которому хотим предоставить удаленный доступ к компьютеру
по протоколу ssh.
Проставляем (оставляем) галочки на функциональные возможности доступа:
- login allowed (разрешить
подключение)
- Public keys (можно сделать
авторизацию по ключу). Если нужно нажимаем Public keys и импортируем публичный ключ для
этой учетной записи
- Allow file transfer (разрешить передачу
файлов)
- Allow terminal (разрешить терминал)
– если просто, то разрешить доступ к командному окну (cmd.exe)
- Allow port forwarding (разрешить проброс
портов)
- Virtual filesystem layout (права доступа к системе
при подключении)
На третьей вкладке Virtual accounts:
-
я создаю учетную запись для подключения по ключу
нажимаю кнопку Add
-
предварительно создаю ключ (процесс создания
ключа описан здесь – Создание ключа ssh на
Linux ) и копирую с
помощью winscp созданный публичный ключ sshkey-atlant.pub на компьютер, где
установлен winSSHd
-
В окне Adding new entry to
Simplified virtual accounts создаю учетную запись для
доступа
В поле Virtual account name вбиваю
логин пользователя atlant и ставлю галочку напротив Allow terminal (дам возможность себе
подключаться к консоли Windows компьютера по ssh)
Нажимаю кнопку Public
keys, для добавления ранее созданного публичного ключа
далее нажимаю кнопку Import и
указываю файл ключа (это тот файл с расширение .pub, который я загрузил)
- в окнах нажимаю кнопки Close -> OK -> Save changes -> Save settings
and start server -> Start server
5. При настройке winSSHd стояла галочка с разрешением внести
изменения в брандмауэр (файервол), но все равно надо добавить правило для доступа к моему компьютеру по ssh, иначе не
пустит
- Захожу в настройки брандмауэра и добавляю
правило – нажимаю Создать правило
- выбираю Тип правила – Для порта
- Протокол TCP, порт 22
- Разрешить подключение
- далее выбираем профили брандмауэра, для
которых будет применяться это правило (я оставил все)
- задаем имя правила (я назвал ssh)
6.
На линукс компьютере запускаю подключение к ssh серверу
ssh -v -i /home/atlant/.ssh/sshkey-atlant atlant@192.168.10.222
ssh -v -i /home/atlant/.ssh/sshkey-atlant atlant@192.168.10.222
где
/home/atlant/.ssh/sshkey-atlant – ключ который я создал
atlant@192.168.10.222 – имя пользователя на сервере winSSHd и
ip адрес
сервера winSSHd
-v – запуск ssh в режиме
отладки
В процессе подключения выдается сообщение,
на которое надо ответить - yes
Are you sure you want to continue connecting (yes/no)? yes
Это согласие на то, что я доверяю этому
серверу
7.
У меня все отработало корректно и я получил
доступ к командному окну Windows
Подведу итог: Для частного (не
коммерческого) использования можно использовать winSSHd сервер бесплатно.
Удалось организовать подключение Linux – Windows с
использованием ключа и протокола ssh. Теперь возможно делать полноценные резервные
копии с Linux на Windows использую scp.
За редким исключением можно встретить столь понятное и доступное объяснение. Мне наконец-то удалось понять как это должно быть настроено, хотя бы на начальном уровне.
ОтветитьУдалитьБОЛЬШОЕ, Человеческое, СПАСИБО!!
Да, действительна полезная статья! Спасибо, что есть еще такие люди, которые пытаются документировать свои знания и передать таким как мы!
ОтветитьУдалитьВообщем большое спасибо автору!
Прошло 3 года, с тех пор как я написал эту статью. Как ни странно, статья все еще актуальна. Что изменилось за это время? Я стал использовать для резервных копий хостинга яндекс диск. Яндекс диск установил на линукс хостинг как консолный клиент и надобности копий на винду теперь нет. А еще, я установил себе на компьютер линукс (centos) вместо виндовз и нисколько об этом не жалею, работаю на линуксе уже два года. По своему опыту скажу так: Не теряйте зря время на изучение виндовых рюшечек, лучше один раз скрипт в линуксе написать или конфигурацию настроить и все будет работать годами.
Удалить