Создание безопасного соединения с Windows Remote Desktop с использованием туннеля SSH2
В статье показано как создать безопасное соединения Windows Remote Desktop (RDP) с использованием шифрованного туннеля используя SSH2.
В работе системного администратора периодически возникает необходимость проверить работоспособность серверов либо установить очередное обновление и сделать это необходимо в нерабочее время. В статье показано как создать защищенное соединение к вашему рабочему компьютеру посредством протокола SSH2. Для того чтобы был возможен такой доступ, необходимо наличие внешнего IP адреса, т.е. ваша сеть должна смотреть в Интернет. На роутере должно быть настроено правило и открыт порт. Вопросы доступа на железках я описывать не буду, тут речь пойдет о настройке рабочей машины. Итак, приступим:
- Устанавливаем SSH сервер под WINDOWS (copSSH) – есть проблема с русскими названиями групп – перед установкой переименовываем группу Администраторы, пользователя Администратор и группу Пользователи в английский вариант.
- Создаем пользователя (или используем существующего) – в целях безопасности с правами обычного пользователя и паролем посложнее — и разрешаем только ему подключаться к нашему SSH-серверу.
- Для создания туннеля используем SSH клиента PuTTY. Создаем новую сессию
- В свойствах ставим версию протокола 2
- Создаем перенаправление портов: source port – порт на локальном компьютере к которому будем коннектиться, Destination – указываем адрес удаленного компьютера и порт на котором наш сервис, нажимаем Add
- Сохраняем нашу сессию для использования в будущем.
- Устанавливаем соединение с удаленным компьютером (Open), вводим логин пароль.
- Запускаем клиента, вводим адрес 127.0.0.1 и через двоеточие порт, который указывали в пункте 4 – подключаемся.
В принципе таким образом можно перенаправить любой порт.
Защищаемся
1.Отключаем авторизацию по паролю
-В файле <куда поставили программу>\etc\sshd_config ищем параметр
PasswordAuthentication и выставляем его значение в NO (если в начале строки стоит символ # — то убираем его)
-перезапускаем сервис OpenSSH
-теперь для авторизации используются только ключи, делается так:
В ПО PuTTY есть программа puttygen.exe, используем её для генерации пары ключей, запускаем, выбираем SSH2 RSA, количество бит ставим 1024 и нажимаем GENERATE
Во время генерации двигайте мышкой на пустой области в окне программы, по окончании вам необходимо сохранить ПРИВАТНЫЙ ключ в файл для дальнейшего использования (соглашаемся что passphrase пустая). Нажимаем SavePrivateKey. Выделяем и копируем текст из окна Public key, создаем в директории <>\home\<ИМЯ ПОЛЬЗОВАТЕЛЯ>\.ssh\ файл authorized_keys и вставляем в него из буфера.
закрываем. Запускаем PuTTY и загружаем нашу сессию, идем в Auth в поле Ptivate key file for authentication выбираем наш сохраненный ПРИВАТНЫЙ ключ
Возвращаемся в SESSION и сохраняемся для использования этих настроек в дальнейшем.
Ограничиваем доступ и запрещаем запуск программ и утилит:
редактируем файл <куда поставили>\etc\profile
#syspath=`/bin/cygpath -S`
#winpath=`/bin/cygpath -W`
#export PATH=»/bin:$syspath:$winpath»
export PATH=»»
запрещаем доступ ко всем файлам и папкам пользователю под которым логинимся в систему через SSH, кроме папки <куда поставили>\home\<имя пользователя>
0