Модераторы: powerfox, ZeeLax

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Скрипт размещения сайта. 
V
    Опции темы
bilbobagginz
Дата 2.10.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



во-первых,
ssh по умолчанию ищет ключ в ~/.ssh
т.е. если вы не хотите использовать ключ из не стандартного места, то для подключения не нужно указывать имя файла-частного-ключа.

во-вторых, флажок -I - это когда ключ сидит на смарткарте.

удачи.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 3.10.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Не совсем понял, где ищется ключ?
Ключ клал в разные места.
Указывал до него путь через опцию -i, но все равно , после некоторых раздумий с меня спрашивается пароль.


PM MAIL   Вверх
bilbobagginz
Дата 3.10.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



ваш частный ключ - запароленный ?



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 4.10.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



passphrase ?. ... нет.
PM MAIL   Вверх
bilbobagginz
Дата 4.10.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Хоббит @  4.10.2007,  11:15 Найти цитируемый пост)
passphrase ?. ... нет. 

значит 2 опции:
  • вы не установили публичный ключ на сервер, к которому подключаетесь  (man ssh-copy-id)
  • ваш sshd настроен не разрешать авторизацию через ключи. (man sshd_config, search: PubkeyAuthentication 
  • ваш sshd настроен искать публичные ключи не в стандартном месте (man sshd_config, search: AuthorizedKeysFile)


предлагаю запустить подключение следующим образом:
ssh -v user@host

и результат выплеснуть здесь.
по нему будет всем понятно, что пошло косяком.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 4.10.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Все. Сделал. Содержимое паблик ключа надо было скопировать в authorized_keys, а я его просто положил в .ssh
PM MAIL   Вверх
bilbobagginz
Дата 4.10.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



вам надо еще раз внимательно перечитать. там не "скопировать", а "добавить".
потому что если следующий компьютер будете "копировать", старый - сотрется.
в файле authorized_keys должны лежать ключи всех клиентов, с которыми разрешается работа через ключи.

добавляют так:
Код

cat id_dsa.pub >> ~/.ssh/authorized_keys





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 4.10.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Едем дальше. Со всеми командами разобрался. Вот пока код такой

Код

#!/bin/sh

. /shinc/msg

upload_site=$1
shift
upload_dirs=$@

if [ -z $upload_dirs ]
  then upload_dirs='*'
fi

echo 'Loading vars';
. /usr/local/var/$upload_site && \
msg_ok || \
msg_fail -e

cd $site_local_dir
echo 'Archiving files'
tar czf $upload_site.tar.gz $upload_dirs 2>/dev/null && \
msg_ok || \
msg_fail -e

echo 'Uploding archiv'
scp -i $ssh_identity $upload_site.tar.gz $ssh_user@$ssh_server:$site_remote_dir 1>/dev/null 2>/dev/null &&
msg_ok || \
msg_fail -e

echo 'Connetct ssh'
ssh -i $ssh_identity $ssh_user@$ssh_server &&
msg_ok || \
msg_fail -e



Дело в том, что когда я соединяюсь с ssh удаленного сревера. У меня открывается новый шелл. И мне надо продолжать выполнять команды в нем (открыть архив и выйти). А все команды в этом файле выполняются в текущем шелле.
PM MAIL   Вверх
JackYF
Дата 4.10.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 14
Всего: 162



Цитата(Хоббит @  4.10.2007,  15:53 Найти цитируемый пост)
И мне надо продолжать выполнять команды в нем (открыть архив и выйти).

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


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bilbobagginz
Дата 4.10.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



молодец. 
Цитата(Хоббит @  4.10.2007,  15:53 Найти цитируемый пост)
И мне надо продолжать выполнять команды в нем (открыть архив и выйти).


теперь тебе осталось еще раз прочитать man ssh, Description, 3-й параграф.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 4.10.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Прочитал. Понял, что в конце можно писать команду. 
Исправил строчку скрита на
ssh -i $ssh_idenity $ssh_user@$ssh_server tar xzf $site_remote_dir/$upload_site.tar.gz

Не катит
Так же пытался в шеле писать на прямую в шелле
ssh -i ~/.ssh/u72031 [email protected] tar xzf /home/u72031/sitename.ru/www/sitename.tar.gz
Не катит

Хотя команда
ssh -i ~/.ssh/u72031 [email protected] ls
Вернула как и надо список файлов удаленого сервера.

И так вопросы.
1. Как исполнить команду tar (что я сделал не так)
2. И как можно передать несколько команд, пробовал записать их через
; - исполняется только первая
через {} и через () ... в общем не помогло.
PM MAIL   Вверх
JackYF
Дата 4.10.2007, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 14
Всего: 162



Цитата(Хоббит @  4.10.2007,  18:39 Найти цитируемый пост)
Как исполнить команду tar (что я сделал не так)

ты локально тар пробовал вообще запускать?

Цитата

tar -cvzf



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bilbobagginz
Дата 4.10.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Хоббит @  4.10.2007,  18:39 Найти цитируемый пост)
Исправил строчку скрита на
ssh -i $ssh_idenity $ssh_user@$ssh_server tar xzf $site_remote_dir/$upload_site.tar.gz


нужно 2 команды. когда ты это пытаешься сделать, шелл пытается распаковать в первом каталоге по умолчанию, т.е. думаю в /home/user<нумер>

нужно:
Код

ssh -i $ssh_idenity $ssh_user@$ssh_server "cd $site_remote_dir; tar xzf $upload_site.tar.gz"

т.е. 1-я команда - перейти в нужный каталог ( где надеюсь ты уже положил нужный файлик )
2-я распаковывает файл там.

удачи в дальнейшем:
судя по тому что вы пытаетесь сделать, вам нужна система ведения версий, а не просто тупое копирование ( т.к., периодически есть смысл перекопировать только обновленные или новые файлы. )

поэтому, советую вам на рабочей станции настроить subversion repository.
a на сервере в нужном каталоге делать периодически:
Код

svn update

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

Естественно, лучше вообще разрабатывать сайт на одном сервере, держать версии на втором, а внедрять на 3-ем.  тогда система ведения версий вам поможет и как "живая" резервная копия.
Ессно желательно регулярно резервировать ТОЛЬКО репозитарий, а не рабочие копии.

удачи.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 5.10.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Спасибо за рекомендации по svn. Займусь этим вопросом на следующей неделе.
PM MAIL   Вверх
Хоббит
Дата 9.10.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Следующий вопрос, залить базу. Есть такой вариант.

Код

mysqldump -u$mysql_local_user -p$mysql_local_pass $site_local_base $tables > $site_local_dir/$site_name.sql
scp -i $ssh_identity $site_local_dir.sql $ssh_user@$ssh_server:$site_remote_dir

ssh -i $ssh_identity $site_user@$ssh_server "cd $site_remote_dir; mysql -u$mysql_remote_user -p$mysql_remote_pass $site_remote_base < $site_remote_dir/$site_name.sql"


Добавлено через 35 секунд
То есть делаем дамп, заливаем через scp , разворачиваем через ssh.
Есть лучше вариант?
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.