Создание SSH-туннелей с помощью PuTTY. Локальный проброс порта, Socks–proxy, Авторизация по ключу.
Локальный проброс порта:
Например, локальный проброс, может понадобиться, когда необходимо подключиться к удаленной БД - это будет выглядеть так, как-будто она расположена у нас на локальном хосте. В таком случае - можно обойтись без установки phpmyadmin на сервере =)
Запускаем PuTTY:
В Host Name пишем IP нашего сервера.
Показать изображение:
Далее переходим в Connection -> SSH -> Tunneles в Source port пишем требуемый порт, в Destination пишем localhost:port (или 127.0.0.1:port), выбираем Local, добавляем (Add) и IPv4. Нажимаем Open.
Показать изображение:
Запускаем HeidiSQL:
И настраиваем исходя из заданных параметров MySQL сервера.
Показать изображение:
Socks–proxy:
Может понадобиться для смены IP локальной хост машины.
Так-же заполняем раздел Session.
Показать изображение:
В разделе Tunneles в Source port пишем 1090 и выбираем IPv4, Dynamic, добавляем.
Показать изображение:
После чего открываем браузер и настраиваем параметры соединения как показано ниже.
Показать изображение:
Авторизация по ключу:
- key - папка с ключами (.ppk и .pub или в формате openssh
- Pageant - агент для хранения ключей
- PuTTY - ssh-клиент
- PuTTYgen - генератор ключей
Генерируем публичный и приватный ключи:
Публичный - должен лежать на сервере к которому подключаемся.
Приватный - находится у нас, т.е. у клиента. + его лучше защитить паролем.
Запускаем PuTTYgen и генерируем ключи:
Parameters задаем, Type of key to generate - SSH-2 RSA с Number of bits in a generated key - 2048. Жмем Generate. Если софт не поддерживает новый формат private.key - Key -> Parameters for Saving key files - PPK file version 2.
- Key fingerprint — отпечаток ключа.
- Key comment — комментарий к ключу, я обычно указываю машину, на которой это ключ используется.
- Key passphrase — парольная фраза к приватному ключу.
- Confirm passphrase — подтверждение парольной фразы.
Далее сохраняем в папку key содержимое Public key for pasting into OpenSSH authorized_keys file в файл serverPublic.pub (Обратите внимание: Ключ должен быть в одну строчку), после чего нажимаем на Save private key и сохраняем в ту же папку serverPrivate.ppk.
Устанавливаем публичный ключ на сервер:
# mkdir .ssh
# cat >> .ssh/authorized_keys << EOF - ENTER вставляем наш публичный ключ ENTER - EOF
# chmod 700 .ssh
# chmod 600 .ssh/authorized_keys
# chmod 644 ~/.ssh/known_hosts [id_rsa.pub]
+ В будущем, на приватный ключ выставляем такие права,
# chmod 600 .ssh/id_rsa
Использование ключа: Pageant
1. В свойствах ярлыка, в разделе Объект, добавляем путь к приватному ключу. "D:\key\serverPrivate.ppk"
2. Запускаем Pageant и вводим пароль, если нужно, добавляем еще один приватный key.
3. В настройках PuTTY указываем приватный ключ (Connection - SSH - Auth - Private key file for authentification).
4. Можно так же указать и логин (Connection - Data - Auto-login username).
5. Сохраняем настройки в Saved Sessions - Save.
Пробуем подключиться. Если все прошло удачно, то..
Отключаем авторизацию по паролю:
Нас интересуют 2 параметра, должно стоять значение no:
# nano /etc/ssh/sshd_config
ChallengeResponseAuthentication no
PasswordAuthentication no
# /etc/init.d/ssh restart
sshd_config:
Полезные настройки конфигурационного файла:
# nano /etc/ssh/sshd_config
# Authentication:
PermitRootLogin yes # Разрешить подключение root пользователю
- Если присутствуют задержки при подключинии;
GSSAPIAuthentication no # Допускать аутентификацию по GSSAPI.
UseDNS no # Проверка DNS для сопоставления ip и hostname.
Команды Linux - расширенный справочник команд Unix / Linux / PuTTY SSH.