CRONTAB vs OPEN SSH

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

paradoxxxxxx
Сообщения: 8

CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

Здравствуйте, подскажите плиз в чем может быть проблема?
Не могу передать файл по ssh через крон
Запустил ssh-agent $BASH
Добавил сгенерированный приватный ключ ssh-add .ssh/id_dsa
Добавил содержимое d_dsa.pub в /home/oracle/.ssh/authorized_keys на целевом сервере,
вписал команду копирования scp 123.txt oracle@192.168.0.51:/u02/orcl/2/ в скрипт-файлик, и хотел запустить через крон - не
идет, пишет permission denied, please try again.
Permission denied.(publickey,gssapi-with-mic,password).
Lost connection.
Если вручную запустить скрипт - работает!!

Хотя:
08 0 * * * /home/oracle/backup_to_51.sh

-rwxrwxrwx 1 oracle oinstall 165 Май 24 00:13 backup_to_51.sh
Спасибо сказали:
XPIOH
Сообщения: 31

Re: CRONTAB vs OPEN SSH

Сообщение XPIOH »

paradoxxxxxx писал(а):
24.05.2009 14:40
Здравствуйте, подскажите плиз в чем может быть проблема?
Не могу передать файл по ssh через крон
Запустил ssh-agent $BASH
Добавил сгенерированный приватный ключ ssh-add .ssh/id_dsa
Добавил содержимое d_dsa.pub в /home/oracle/.ssh/authorized_keys на целевом сервере,
вписал команду копирования scp 123.txt oracle@192.168.0.51:/u02/orcl/2/ в скрипт-файлик, и хотел запустить через крон - не
идет, пишет permission denied, please try again.
Permission denied.(publickey,gssapi-with-mic,password).
Lost connection.
Если вручную запустить скрипт - работает!!

Хотя:
08 0 * * * /home/oracle/backup_to_51.sh

-rwxrwxrwx 1 oracle oinstall 165 Май 24 00:13 backup_to_51.sh



А в cron он от кого запускается?
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

XPIOH писал(а):
24.05.2009 14:47
А в cron он от кого запускается?

от Oracle
Спасибо сказали:
XPIOH
Сообщения: 31

Re: CRONTAB vs OPEN SSH

Сообщение XPIOH »

paradoxxxxxx писал(а):
24.05.2009 14:55
XPIOH писал(а):
24.05.2009 14:47
А в cron он от кого запускается?

от Oracle



А если проверить
su - oracle
и потом только скрипт... Идет в этом случае скрипт?
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

XPIOH писал(а):
24.05.2009 14:58
А если проверить
su - oracle
и потом только скрипт... Идет в этом случае скрипт?


под Oracle -ом вручную запускается без проблем
Спасибо сказали:
XPIOH
Сообщения: 31

Re: CRONTAB vs OPEN SSH

Сообщение XPIOH »

А действительно правильно проходит проверка скрипта. Не может такого быть, чтобы не работало...

Именно su - oracle, а не просто su oracle.
Спасибо сказали:
XPIOH
Сообщения: 31

Re: CRONTAB vs OPEN SSH

Сообщение XPIOH »

Ошибка именно о неправльных ключах....
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

XPIOH писал(а):
24.05.2009 15:47
Ошибка именно о неправльных ключах....


вручную - то запускается нормально
Спасибо сказали:
XPIOH
Сообщения: 31

Re: CRONTAB vs OPEN SSH

Сообщение XPIOH »

Надо попробовать дописать путь к shell, который запускает скрипт.


08 0 * * * /bin/bash /home/oracle/backup_to_51.sh

И хорошо бы выяснить переменные окружения при выполнении скрипта из cron.
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

XPIOH писал(а):
24.05.2009 16:09
Надо попробовать дописать путь к shell, который запускает скрипт.


08 0 * * * /bin/bash /home/oracle/backup_to_51.sh

И хорошо бы выяснить переменные окружения при выполнении скрипта из cron.


вот лог крона

Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/oracle>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=oracle>
X-Cron-Env: <USER=oracle>

кстате под рутом так же проделал все шаги, без результатно
Спасибо сказали:
XPIOH
Сообщения: 31

Re: CRONTAB vs OPEN SSH

Сообщение XPIOH »

А если в скрипте scp добавить -v и вывод направить 1> /tmp/log1.txt 2> /tmp/log2.txt
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: CRONTAB vs OPEN SSH

Сообщение IMB »

Имеет ли Oracle права на ключи? Никогда не работал с ними, но думаю право на чтение, как минимум, должно быть.
Спасибо сказали:
Supervisor
Сообщения: 147
ОС: Sabayon ~x86

Re: CRONTAB vs OPEN SSH

Сообщение Supervisor »

paradoxxxxxx писал(а):
24.05.2009 14:40
Здравствуйте, подскажите плиз в чем может быть проблема?
Не могу передать файл по ssh через крон
Запустил ssh-agent $BASH
Добавил сгенерированный приватный ключ ssh-add .ssh/id_dsa
Добавил содержимое d_dsa.pub в /home/oracle/.ssh/authorized_keys на целевом сервере,
вписал команду копирования scp 123.txt oracle@192.168.0.51:/u02/orcl/2/ в скрипт-файлик, и хотел запустить через крон - не
идет, пишет permission denied, please try again.
Permission denied.(publickey,gssapi-with-mic,password).
Lost connection.
Если вручную запустить скрипт - работает!!

Хотя:
08 0 * * * /home/oracle/backup_to_51.sh

-rwxrwxrwx 1 oracle oinstall 165 Май 24 00:13 backup_to_51.sh


(man scp) писал(а):-i identity_file
Selects the file from which the identity (private key) for public key authen‐
tication is read. This option is directly passed to ssh(1).


не?
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

XPIOH писал(а):
24.05.2009 16:48
А если в скрипте scp добавить -v и вывод направить 1> /tmp/log1.txt 2> /tmp/log2.txt

Вот лог успешного копирования(запус скрипта вручную):

Код:

Executing: program /usr/bin/ssh host 192.168.0.51, user oracle, command scp -v -t /u02/orcl/backup1/ OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to 192.168.0.51 [192.168.0.51] port 22. debug1: Connection established. debug1: identity file /home/oracle/.ssh/identity type -1 debug1: identity file /home/oracle/.ssh/id_rsa type -1 debug1: identity file /home/oracle/.ssh/id_dsa type 2 debug1: loaded 3 keys debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3 debug1: match: OpenSSH_4.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-cbc hmac-md5 none debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host '192.168.0.51' is known and matches the RSA host key. debug1: Found key in /home/oracle/.ssh/known_hosts:7 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information Unknown code krb5 195 debug1: Unspecified GSS failure. Minor code may provide more information Unknown code krb5 195 debug1: Unspecified GSS failure. Minor code may provide more information Unknown code krb5 195 debug1: Next authentication method: publickey debug1: Offering public key: /home/oracle/.ssh/id_dsa debug1: Server accepts key: pkalg ssh-dss blen 433 debug1: Authentication succeeded (publickey). debug1: channel 0: new [client-session] debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = ru_RU.UTF-8 debug1: Sending command: scp -v -t /u02/orcl/backup1/ Sending file modes: C0644 0 123.txt Sink: C0644 0 123.txt debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK debug1: fd 2 clearing O_NONBLOCK debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 0.1 seconds debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0 debug1: Exit status 0


А вот через крон:

Код:

Executing: program /usr/bin/ssh host 192.168.0.51, user oracle, command scp -v -t /u02/orcl/backup1/ OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to 192.168.0.51 [192.168.0.51] port 22. debug1: Connection established. debug1: identity file /home/oracle/.ssh/identity type -1 debug1: identity file /home/oracle/.ssh/id_rsa type -1 debug1: identity file /home/oracle/.ssh/id_dsa type 2 debug1: loaded 3 keys debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3 debug1: match: OpenSSH_4.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-cbc hmac-md5 none debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host '192.168.0.51' is known and matches the RSA host key. debug1: Found key in /home/oracle/.ssh/known_hosts:7 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information Unknown code krb5 195 debug1: Unspecified GSS failure. Minor code may provide more information Unknown code krb5 195 debug1: Unspecified GSS failure. Minor code may provide more information Unknown code krb5 195 debug1: Next authentication method: publickey debug1: Trying private key: /home/oracle/.ssh/identity debug1: Trying private key: /home/oracle/.ssh/id_rsa debug1: Offering public key: /home/oracle/.ssh/id_dsa debug1: Server accepts key: pkalg ssh-dss blen 433 debug1: PEM_read_PrivateKey failed debug1: read PEM private key done: type <unknown> debug1: read_passphrase: can't open /dev/tty: No such device or address debug1: Next authentication method: password debug1: read_passphrase: can't open /dev/tty: No such device or address debug1: Authentications that can continue: publickey,gssapi-with-mic,password Permission denied, please try again. debug1: read_passphrase: can't open /dev/tty: No such device or address debug1: Authentications that can continue: publickey,gssapi-with-mic,password Permission denied, please try again. debug1: read_passphrase: can't open /dev/tty: No such device or address debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: No more authentication methods to try. Permission denied (publickey,gssapi-with-mic,password). lost connection
Спасибо сказали:
Аватара пользователя
Ariasp
Сообщения: 254
Статус: NixLander

Re: CRONTAB vs OPEN SSH

Сообщение Ariasp »

paradoxxxxxx писал(а):
24.05.2009 14:40
Здравствуйте, подскажите плиз в чем может быть проблема?
Не могу передать файл по ssh через крон
Запустил ssh-agent $BASH
Добавил сгенерированный приватный ключ ssh-add .ssh/id_dsa
Добавил содержимое d_dsa.pub в /home/oracle/.ssh/authorized_keys на целевом сервере,
вписал команду копирования scp 123.txt oracle@192.168.0.51:/u02/orcl/2/ в скрипт-файлик, и хотел запустить через крон .....
Если вручную запустить скрипт - работает!!

А что собственно удивительного? Для каждой сессии запускается новая копия ssh-agent; это значит, что копия ssh-agent для крон-скрипта имеет девственно чистый кеш ключей - ей же никто ssh-add не говорил. И как вы вобще собираетесь ей передавать passphrase?
Отсюда вывод - либо отказываемся от passphrase, либо возимся с keychain.
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

Ariasp писал(а):
25.05.2009 21:16
А что собственно удивительного? Для каждой сессии запускается новая копия ssh-agent; это значит, что копия ssh-agent для крон-скрипта имеет девственно чистый кеш ключей - ей же никто ssh-add не говорил. И как вы вобще собираетесь ей передавать passphrase?
Отсюда вывод - либо отказываемся от passphrase, либо возимся с keychain.


Я думал крон запускает скрипт от уже запущенной сессии Оракла, выходит что он новой, а если пропишу в .bash_profile Оракла
eval 'ssh-agent'
eval 'ssh-add'

то как могу вскормить как - нибудь passphrase?

И про keychain поподробнее, если можно..
Спасибо сказали:
paradoxxxxxx
Сообщения: 8

Re: CRONTAB vs OPEN SSH

Сообщение paradoxxxxxx »

IMB писал(а):
24.05.2009 22:19
Имеет ли Oracle права на ключи? Никогда не работал с ними, но думаю право на чтение, как минимум, должно быть.


с правами все ОК

Supervisor писал(а):
24.05.2009 22:40
paradoxxxxxx писал(а):
24.05.2009 14:40
Здравствуйте, подскажите плиз в чем может быть проблема?
Не могу передать файл по ssh через крон
Запустил ssh-agent $BASH
Добавил сгенерированный приватный ключ ssh-add .ssh/id_dsa
Добавил содержимое d_dsa.pub в /home/oracle/.ssh/authorized_keys на целевом сервере,
вписал команду копирования scp 123.txt oracle@192.168.0.51:/u02/orcl/2/ в скрипт-файлик, и хотел запустить через крон - не
идет, пишет permission denied, please try again.
Permission denied.(publickey,gssapi-with-mic,password).
Lost connection.
Если вручную запустить скрипт - работает!!

Хотя:
08 0 * * * /home/oracle/backup_to_51.sh

-rwxrwxrwx 1 oracle oinstall 165 Май 24 00:13 backup_to_51.sh


(man scp) писал(а):-i identity_file
Selects the file from which the identity (private key) for public key authen‐
tication is read. This option is directly passed to ssh(1).


не?


явно указал, все - равно.

Supervisor писал(а):
24.05.2009 22:40
paradoxxxxxx писал(а):
24.05.2009 14:40
Здравствуйте, подскажите плиз в чем может быть проблема?
Не могу передать файл по ssh через крон
Запустил ssh-agent $BASH
Добавил сгенерированный приватный ключ ssh-add .ssh/id_dsa
Добавил содержимое d_dsa.pub в /home/oracle/.ssh/authorized_keys на целевом сервере,
вписал команду копирования scp 123.txt oracle@192.168.0.51:/u02/orcl/2/ в скрипт-файлик, и хотел запустить через крон - не
идет, пишет permission denied, please try again.
Permission denied.(publickey,gssapi-with-mic,password).
Lost connection.
Если вручную запустить скрипт - работает!!

Хотя:
08 0 * * * /home/oracle/backup_to_51.sh

-rwxrwxrwx 1 oracle oinstall 165 Май 24 00:13 backup_to_51.sh


(man scp) писал(а):-i identity_file
Selects the file from which the identity (private key) for public key authen‐
tication is read. This option is directly passed to ssh(1).


не?


явно указал , все - равно...
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 887
ОС: gentoo

Re: CRONTAB vs OPEN SSH

Сообщение vr13 »

если скрипт копирует файлы, то почему бы не воспользоваться rsync -az -e ssh <from> <to>? желаемое будет достигнуто (передача по защищенному соединению), а ваш скрипт будет просто формировать список файлов для копирования посредством rsync

это не решение заданным способом, просто другой способ, который может обойти проблемку
Спасибо сказали: