Bash (Удалённый вход по ssh и выполнение комманд)
Добрый день.
Возникли проблемы в написании скрипта на bash. Существует задача. Имеется удалённый сервер в интернете. Необходимо что бы компьютер локальнйо сети заходил на этот сервер удалённо по ssh выполнял несколько комманд, отключался. Затем выполнял несколько комманд локально... и слал уведомление о выполнении. Нужно всё это уместить в одном скрипте. Проблема возникла с заходом на удалённый сервер. Никак не могу сделать так что бы скрипт заходил на сервер и автоматически вводил пароль от пользователя... Помогите пожалуйста. |
никак мы пишем вирус? :)
по ssh команды не выполняются удаленно, они выполняются локально на удаленном сервере, соответственно, скрипт с набором команд должен лежать там. А если он все равно там лежит, то что мешает его просто запускать там по крону? |
Ситуация такая.
У компании есть собственный web сервер в интернете. Хотелось бы делать backup некоторых данных на локальный сервер, который находится в офисе. Открывать что то из вне в локалку где находится сервер, не хотелось бы. Есть идея что бы backup сервер сам заходил на web сервер, делал архив того, чего нужно и закачивал бы его к себе. |
На веб сервере по крону делаем архивчик, а на бекап сервере посредством scp стягиваем этот файлик. Обеспечиваем приемлимый уровень безопасности и весь "скрипт" укладывается в 2 строчки: одна в кроне www сервака; вторая в кроне backup сервака.
|
По ssh лучше ходить не по паролю, а по ключу - это гораздо безопаснее и отпадает необходимость ввода пароля.
|
bombording,
ну, собственно, лучше и безопасней всего сделать именно так, как написал WhitePangolin: - backup на сервере по крону - запуск стягивания удаленного backup-а из локалки по локальному крону (или планировщику, если это win-машина) Не забудьте только запланировать еще и удаление отработанных бэкапов, чтобы не накапливались |
Спасибо. Скорей всего так и сделаю.
Осталось разобраться как scp автоматически вводил пароль от ssh пользователя, на локальной машине. Делать сертификат без пароля и регистрировать его на рабочем сервере, как то не хочется... |
Можно авторизоваться по ключу, либо еще есть вариант с PHP расширением SSH
|
По поводу ключа... в статье предлагается на локальной машине сгенерировать пустой ключ.
ssh-keygen -t rsa Загрузить его на удалённый сервер. scp /home/user1/.ssh/id_rsa.pub \ user1@remote_server:~/ И зарегистрировать там аднный ключ. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys Скажите. С точки зрения безопасности, данный вариант будет приемлимым? Если к примеру сравнивать заход по обычному паролю и этот вариант. Не сможет ли любой желающий из интернета, публично выполнять всё что хочет на сервере? Просто на сервере хранится личная, важная информация. |
Технически 100% безопасности обеспечить просто не реально, но как сказал ruslandh:
Цитата:
|
Большое спасибо.
|
Время: 18:53. |
Время: 18:53.
© OSzone.net 2001-