Как подключаться

Подключение к серверу Oracle подразумевает использование SSH-туннелей. Для комфортной работы с SSH, настоятельно рекомендуется создать пару открытый/закрытый ключ, и использовать авторизацию по ключу.

Генерация ключей в PuTTY

Запускаем программу PuTTYgen, выбираем SSH2-RSA, длина ключа 2048, нажимаем Generate, после чего возим мышкой по окошку. После того, как ключи сгенерились, вводим пароль на ключ. Пароль должен быть по-настоящему хорошим и сложным. Сохраняем публичный и приватный ключи.

Генерация ключей в Linux

[sabitov@client ~]$ ssh-keygen -b 2048 -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/sabitov/.ssh/id_rsa): # тут просто Enter Enter passphrase (empty for no passphrase): # тут пароль на ключ Enter same passphrase again: # его повтор Your identification has been saved in /home/sabitov/.ssh/id_rsa. Your public key has been saved in /home/sabitov/.ssh/id_rsa.pub. The key fingerprint is: 08:f9:0b:9c:53:9f:6c:87:c1:a9:7b:f4:cd:02:8d:99 sabitov@client.ru

в результате имеем 2 файла

[sabitov@client ~]$ ls -lhA .ssh/ итого 8,0K -rw-------. 1 sabitov sabitov 1,8K Окт 16 15:30 id_rsa -rw-r--r--. 1 sabitov sabitov 406 Окт 16 15:30 id_rsa.pub

Перенос ключей на сервер

На сервере необходимо выполнить:

[sabitov@ora ~]$ touch .ssh/authorized_keys [sabitov@ora ~]$ chmod 600 .ssh/authorized_keys

Используя текстовый редактор и копи-паст вставить в этот файл публичный ключ (один ключ на одной строке, файл может содержать много разных ключей.)

ssh-rsa AAAAB3Nza.........EPR/OQ== sabitov@client

строка начинается с «ssh-rsa AAAA», потом многабукаф и заканчивается «== comment», в данном случае «== sabitov@client», комментарий можно произвольным образом менять.

Подключение к серверу через PuTTY

Запускаем Pageant, через его иконку в трее добавляем приватный ключ. Проверяем, что ключ добавился (View Keys).

Запускаем PuTTY, вводим имя сервера, Open, вводим логин. Если все было сделано правильно, подключение происходит без пароля.

Настройка PuTTY

Запускаем PuTTY, выбираем Connection|Data, вводим логин в поле auto-login username. Выбираем Connection|SSH, указываем версию протокола 2 only Разворачиваем пункт SSH, выбираем пункт Tunnels. Снимаем галочки с пунктов «Local port … other hosts» и «Remote … only)» В Source port вводим 1521, Destination 127.0.0.1:1521, выбираем Local и IPv4, Нажимаем Add.

Выбираем категорию Session, указываем DNS имя сервера с Oracle и имя для сохраняемых настроек (a la «oracle + port forwarding»), говорим Save

Закрываем окно PuTTY. Через иконку Pageant в трее открываем коннект к серверу.

Подключение к серверу из Linux

Единственный раз надо выполнить

eval `ssh-agent -s` ssh-add

Если открывается несколько терминалов, то в одном проделываются указанные выше команды, а в остальных выставляются правильные значения переменных окружения:

sabitov@client ~ $ env | grep SSH SSH_AGENT_PID=7777 SSH_AUTH_SOCK=/tmp/ssh-yAAKoCdu1643/agent.7777

Копируем мышкой эти значения в соседний терминал и говорим экспорт:

sabitov@client ~ $ SSH_AGENT_PID=7777 sabitov@client ~ $ SSH_AUTH_SOCK=/tmp/ssh-yAAKoCdu1643/agent.7777 sabitov@client ~ $ export SSH_AGENT_PID SSH_AUTH_SOCK

Собственно для подключения:

ssh -L 1521:127.0.0.1:1521 server.name

Настройка клиента Oracle на винде

Выкачиваем файл http://file.sabitov.su/oracle_4_stud/oracle-all-in-1.zip

Распаковываем в произвольную директорию. Прописываем путь до директории oracle в переменных окружения PATH и TNS_ADMIN

Настройка клиента Oracle на Linux

Установить клиента Oracle используя пакетный менеджер. Проверить куда показывает переменная окружения TNS_ADMIN:

sabitov@client ~ $ env | grep TNS TNS_ADMIN=/etc/oracle/

Выкачать файл http://file.sabitov.su/ora/oracle-all-in-1.zip, распаковать. Дописать содержимое файла tnsnames.ora из архива к содержимому файла ${TNS_ADMIN}/tnsnames.ora

Запуск tora

Запускаем tora из директории с клиентом Oracle. В диалоге New Connection:

Выбираем тип подключения Oracle (TNS)

Выбираем базу данных XESSH

Вводим имя пользователя и имя схемы (они совпадают)

Вводим пароль

Нажимаем Test…

Если всё сделано правильно, должно случиться сообщение Connection Succeeded.

В диалоге New Connection нажимаем OK

Tracedump:

newBaseSize: 16pt
newBaseSizeInPt: 16