Archive for Февраль 2009

ПКМГ. Немного про ssh.

Февраль 19, 2009

Напишу-ка я еще один пост про путьКМировомуГосподству. В прошлый раз мы обсуждали однокнопочный накат на продуктивный сервер, сегодня подговорим про ssh и туннели (не в ушах).

Для начала, я запишу здесь последовательность действий для беспарольного входа по ssh, а то каждый раз задалбывает ходить по ссылкам:

  1. ssh-keygen -t dsa
  2. scp id_dsa.pub ux@ux.ssh.host.ru:/home/ux/.ssh/my.key.pub
  3. ssh ux@ux.ssh.host.ru -p 22 'cat ~/.ssh/my.key.pub >> ~/.ssh/authorized_keys2'
  4. echo -e "Host host\nHostName ux.ssh.host.ru\nUser ux\nPort 22" ~/.ssh/config

Здесь мы создаем ключ на локальной машине, по scp заливаем его на удаленную и добавляем содержания нашего ключа в файл authorized_keys2, чтобы удаленный хост нас опознал. Затем настраиваем конфиг на локальной машине, чтобы не писать каждый раз user@host -p 22 для коннекта, а просто написать ssh host. Немного перлоОбразно, но зато можно просто копировать в терминал и запускать =)

Еще для встроенного напоминателя. Довольно часто хостер предоставляет доступ к БД только через ssh-туннель. Оно и понятно и приветствуется, только вот мануал по консольному доступу выкладывают только для виндузоидов, видимо считая, что никсоиды сами разбирутся =) То, что под виндой делается с помощью puTTy или ей подобных программ, в nix достигается парой комманд:

  1. ssh -fNg -L 8600:ux.mysql.host.ru:3306 host
  2. mysql -h127.0.0.1 -P8600 -u ux -p

В данном случае мы создаем туннель с нашей машины (с порта 8600) до удаленной (ux.mysql.host.ru, где mysql крутится на порту 3306, а «host» — это тот самый alias, который мы создали в конфиге ssh), а затем просто коннектимся какбэ к себе на локальную машину, а попадаем на удаленную (не забываем только правильного пользователя и пароль поставить, а то не пустит). Магия чистой воды. Вот за это мы и любим консоль ^_^

Реклама