воскресенье, 24 ноября 2013 г.

SSH подключение к FreeSSHd серверу с использованием ключа авторизации

Для чего нужен ssh?
Для поднятия безопасного туннеля между компьютерами или серверами и получения доступа к консоли удаленного компьютера (сервера). Вся информация передаваемая внутри туннеля шифруется.
Для чего мне понадобился ssh на Windows?
Работая на Linux иногда бывает необходимо передать информацию на Windows. В моем случае понадобилось сделать автоматическое резервное копирование данных на Linux компьютере. Рабочий компьютер у меня с операционной системой Windows7. Можно, конечно, использовать для передачи данных с Lunux на Windows - telnet или ftp, но данные передаваемые по открытым протоколам не защищены. Я предпочитаю надежность, используя при этом scp, sftp (шифрованное копирование).
Возможности freeSSHd сервера:
- ssh сервер (использует разные протоколы шифрования)
- telnet сервер
- туннелирование (можно поднять туннель между компьютерами расположенными в России и Америке, а выглядеть на этих компьютерах будет так, как будто они находятся в одной локальной сети)
Ну а теперь, перехожу к самому процессу установки и настройки freeSSHd сервера
1.       Установил сервер FreeSSHd под windows7 ( в процессе установки как сервис не стал запускать). Сам процесс установки freSSHd сервера описывать не буду, потому что там нет ничего сложного.
2.       С помощью puttygen сгенерировал ключ: нажал кнопку Generate и начал водить мышкой над окном для получения ключа



3.       Получил окно

В поле Key comment вбил название, которое будет использоваться как имя пользователя и имя файла (у меня – sshkey-atlant)

4.       Нажимаю Save private key и получаю сообщение

Это предупреждение о том что я не забил пароль на private key файл. Если я забиваю Key passphrase, то в дальнейшем при попытке подключения получаю Server refused public-key signature despite accepting key! (буду аккуратным, не буду раздавать всем подряд )

Теперь сохраняю ключ с именем, которое я упоминал ранее и расширением .ppk
5.       Создаю публичный ключ (в любом каталоге), который будет храниться на сервере FreeSHHd для пользователя sshkey-atlant
-          Создаю файл с названием sshkey-atlant, открываю его и помещаю туда информацию из поля Public key for pasting into OpenSSH authorized_keys file (выделяю содержимое и копирую в файл):

- Сохраняю файл

6.       Созданный публичный ключ sshkey-atlant копирую в каталог C:\Program Files (x86)\freeSSHd

Этот путь можно изменить в настройках FreeSSHd сервера
У меня стоит Windows7 и при копировании вышло сообщение о необходимости обладать правами Администратора. Поэтому, если нет админских прав, то скопировать в вышеуказанный каталог не получиться.
7.       Теперь надо остановить сервис SSH сервера FreeSSHd (у меня еще пришлось его и выгрузить правой кнопкой мыши по иконке в трее и unload) и запустить снова

8.       Создаю пользователя на сервере

-          Нажимаю Add

- Login задаю такой же как и имя файла ключа
- Authorization выбираю Public key (SSH only)
- User can use: ставлю сервисы которые мне будут доступны при удаленном подключении. Я поставил – Shell, SFTP
9.       На последнем этапе тестирую созданные ключи через Putty

-          Создаю новую сессию, называю ее sshkey-atlant (название тут любое, но мне так удобней ориентироваться)
-          Указываю IP адрес сервера FreeSSHd (у меня он 192.168.10.222)
-          Указываю Connection -> Data -> Auto-login username (у меня sshkey-atlant )


-          Указываю имя файла приватного ключа Connection -> SSH -> Auth -> Private key file for authentication


-          Возвращаюсь на вкладку Session, нажимаю кнопку Save чтобы сохранить сделанные настройки по именем указанным Saved Sessions

-          И нажимаю Open

10.   Ну вот и все. Должна появиться консоль windows7


Подключение с использование ключа авторизации прекрасно работает при подключении Windows на Windows. Все попытки подключиться с Linux на Windows FreeSSHd, с использование ключа, были неудачными. Ключи делал и в PuTTYgen и в Linuxе использую ssh-keygen -t rsa.  Промучившись целый день и не получив положительного результата я решил использовать Bitvise SSH Server (он же winSSHd). Как настраивать winSSHd и подключаться из под Linux кWindows консоли я расскажу в следующей статье.
Подводя итоги, хотелось бы заметить, что freeSSHd сервер можно использовать для подключения по протоколу ssh к Windows. У меня получилось подключиться:
-  с использование ключа с Windows на Windows;
- используя логин и пароль c Window на Windows, с Linux на Windows.

Комментариев нет:

Отправить комментарий