Неуверен что пишу в ту тему, если что - поправте
Приходится часто конектиться к серверу по ssh, вводить пароль и выполнять часто одно и то же.
Хочу написать несколько sh скриптов которые бы автоматом делали то что мне нужно.
Но как заставить скрипт самому посылать пароль а потом выполнять на том серваке нужные мне команды?
1. Генеришь public ключ на локальной машине:
ssh-keygen -t rsa
На вопрос про пароль просто жмешь Enter (т.е. пароль пустой)
Это создаст два ключа в папке ~/.ssh
2. Копируешь public ключ на удаленную машину тому пользователю, под которым на удаленной машине будешь запускать скрипты:
scp ~/.ssh/id_rsa.pub remote_username@remote_host:
3. Логинишься на удаленную машину и добавляешь ключ в файл authorized_keys (если нет папки .ssh - создать):
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
4. Пробуешь коннектиться с локальной машине на удаленную
ssh remote_username@remote_host
Должно пустить без ввода пароля.
5. Потом пишешь скрипты на удаленной машине и запускаешь их с локальной:
ssh remote_username@remote_host /path/to/scripts/script.sh
Огромное спасибо за столь подробный ответ!
Сегодня попробую
Если при подключении возникают проблемы, то можно запустить режим отладки и посмотреть на каком этапе возникает проблема:
ssh -vvv [email protected]
Тут есть ссылки на не плохие статьи о ssh
А если нужно сделать его переносным. скриптом можно как то?
поддерживаю вопрос.
Как хранить пароль например хоть в открытом файле?
Пароль хранится в файле, файл и таскайте с собой ;)
непонятен вопрос. что значит "переносным" то?
Ребят, такая же проблема. Есть sh-скрипт поднимающий ssh подключение и выполняющий копирование файлов на удалённую машину. Необходима автоматизация, чтобы cron его стартовал и чтобы пароль подставлялся автоматом а не ждал пока я его вобью.
и в чем проблема?в первом комменте написано, как сделать аутентификацию по ключу. Мануалов по крону тоже уйма.
Да не нужно с ключом,нужно обязательно по вводу пароля (это принципиально). Как сделать вывод значение (пароля) содержимого скрипта в запрос пароля.
не вижу логики. чем не устраивает ключ?
Существует ряд устройств, в которых нет возможности повесить ключ.
например?
тупо - половина длинков с возможностью управлением по ссх
например D-link DFL 320.. гмм, цифру мог и перепутать...
Управляемые свитчи, имеющие управление по ссх..
это все понятно :) скрипты то там выполнять никто не будет :) а вот у человека совсем конкретно - "Есть sh-скрипт поднимающий ssh подключение и выполняющий копирование файлов на удалённую машину". Не понимаю чем плох ключ в данном случае?
удаленная машина - это очень относительное понятие..
Машина - это может быть все что угодно.
Да, там внутри линух. да там есть ссх.
но нет возможности, или еще чего сделать ключи.
а по вопросу скриптов - я не только захожу через ссх с помощью эксерта но и еще снимаю нужные мне данные с того гммм.. "интерфейса", который наворотил производитель... :-)
Мой типичный рабочий пример - модем работающий по протоколу Е1 -телефония.
подключен к неИП АТС, имеет привычку глючить. сьем статистики (по компорту) позволяет не только получить информацию, но и рявкнуть модему "ребут мерзавец" и через 3-4 минуты телефония - 50 номеров появляется снова...
Устраивает меня ключ, ничего не имею против ключей))) система FreeBSD и там есть такая возможность. меня интересует впринципе такая возможность есть или нет?
Все что есть курится с помощью expeсt. Намного проще с ключами
http://kubuntu.ru/node/7227 мой старый скрипт, который уже оброс неимоверно всякими фенечками
есть такая замечательная команда expert, позволяющая вводить и пароль, и поледовательно команды разные..
я ее использовал для опроса сдсльных модемов...
подскажите как сделать чтобы после подключении по SSH запускался скрипт
man ssh читаем внимательно
ну вот просто: ssh login@host command
Вот так вот просто запустить команду, скрипт, ну или ещё что-нить )))
У меня получилось настроить доступ без пароля по этой статье:
http://joyit.ru/administrirovanie/14-ssh.html
[arcfi@arcfi-laptop ~]$ sshpass -p "$SSH_PASSWD" ssh admin@srv08
Last login: Wed Aug 29 12:08:20 2012
[admin@srv08 ~]$
Отправить комментарий