powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Безпарольная аутентификация с помощью sshpass
22 сообщений из 22, страница 1 из 1
Безпарольная аутентификация с помощью sshpass
    #36999956
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть такая замечательная утилита для безпарольной аутентификации по ssh - sshpass ( http://sourceforge.net/projects/sshpass/)
Используется следующая конструкция для подключения к удаленному хосту:

sshpass -p [yourpassword] ssh [yourusername]@[host]

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

Утилита работает замечательно, в смысле, функцию то она свою выполняет на ура - аутентификация на удаленном хосте осуществляется успешно, но есть одна неприятная проблема с выходом - после строки в скрипте "exit", говорящей что надо отключиться от удаленного хоста - утилитка sshpass как будто подвисает... и спасает в данный момент только комбинация клавиш "CTRL+C" - все остальное нажимать бесполезно.

Отсюда вопрос: как это обойти? На форуме sshpass люди как будто не сталкивались с этим, никаких обсуждений. Может быть существует какое то правильное завершение и выход из утилиты? Или в конце концов как мне сэмулировать в коде своего .sh скрипта нажатие "CTRL+C", после строки "exit", чтобы все таки автоматизировать процесс?

Помогите пожалуйста, приму во внимание любые дельные советы!
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000025
pwgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nick Chervov,

есть замечательный способ беспарольной аутентификации по ssh, называются ключи, который позволяет автоматизировать выполнение скриптов, т.к. не требуется постоянно вводить пароли в процессе их выполнения.
полностью команду, которую вы пишете можете написать (т.е. все кроме пароля/логина/хоста)?
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000089
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pwgen

Ключи не вариант, т.к. есть вероятность что многие начнут гулять на сервер, а он продуктивный. Проще указать пароль в скрипте и держать его у себя (скрипт будет использоваться "редко, но метко"). Забыл это упомянуть при описании вопроса.

Вот такой вот более наглядный пример:

Код: plaintext
1.
2.
/bin/sshpass -p  12345  ssh user@remote_host  ' echo "Connected to remote_host"; echo ;
						echo "Capacity of this directory: `du -sh /ora_oebs/scripts/nick_chervov/`"
                                                exit							'

Прошу не критиковать за конструкцию, без использования sshpass она отрабатывает хорошо.

Вот как раз после exit'а утилита и подвисает.
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000098
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nick Chervov, то есть пароль из текста скрипта не украдут, а ключи сразу украдут?
Не выдумывайте. Настройте ключи как и все.
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000115
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind

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

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

P.S.: Прежде чем спрашивать этот вопрос я уже вдоволь начитался про безпарольные методы ssh аутентификации и самый лаконичный - sshpass на мой взгляд. Вот только с автоматизацией скрипта проблемка всплыла.
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000135
helladmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi

Я также вдоволь начитался по поводу автоматизации поверх ssh
Решение: expect
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000159
pwgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nick Chervov,

у меня такое и без exit-а отрабатывает.
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000526
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если скрипт запускать с & или и с nohup
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37000662
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nick Chervov,а где вы работаете? я служебку накатаю и вам запретят использовать sshpass.


если серьезно - поддерживаю идею про про nohup.
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37006073
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Дениса если скрипт запускать с & или и с nohup

При использовании конструкции "nohup" с "&" создается файл в директории скрипта "nohup.out", в конце которого виден момент, где sshpass не отпускает консоль.

А активное консольное окно снова ожидает нажатия "Enter" или "CTRL+C".

Хотя мне сначала показалось, что идея отличная.

А можно ли из терминального окна открыть еще одно терминальное окно и отправить туда команду на выполнение? С учетом того, что в момент выполнения этой команды, основное окно будет ждать когда команда завершится (т.е. какой то параметр передавать надо что ли...).

Или есть более лаконичные варианты решения проблемы?)
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37025012
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37025035
pwgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nick Chervov,

expect пробовали уже?
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37025158
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, почитав про него, показалось что он слишком нагроможден. Неужели остался только он как вариант? Больше никак решить задачу нельзя?
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37025192
pwgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nick Chervov,

я кстати так и не понял, у вас без sshpass сессия при выполнении удаленной команды подвисает или выходит нормально? что будет если вместо exit написать logout? что будет если вместо 'command1; command2' команд написать bash -c "command1; command2;" ?
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37032209
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pwgenNick Chervov,

я кстати так и не понял, у вас без sshpass сессия при выполнении удаленной команды подвисает или выходит нормально? что будет если вместо exit написать logout? что будет если вместо 'command1; command2' команд написать bash -c "command1; command2;" ?

1) Да, без sshpass сессия выходит нормально.
2) С logout - не получается (bash: line 2: logout: not login shell: use `exit')
3) Тот же висят, не помогает.

Есть еще варианты? Очень нужно решить проблему...
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37032256
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на expect за 30 минут пишется. Там и таймаут обрабатывается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
#!/usr/bin/expect -f
spawn ftp -n -i
set timeout 10000
send "open $env(HOST)\n" 
expect {
 "Connected" {
           send "user $env(USER) $env(PASS)\n"
 }
 default {
           send_error "Error connect on $env(HOST)\n"
           exit 2
 }
}
expect {
 -re "Login failed|incorrect" {
           send_error "Invalid login on $env(HOST)\n"
           exit 1
 }
 "logged in." {
               send "passive on\n" 
               send "binary\n"
               send "cd $env(DIR)\n"
          
             }
 timeout   {
           send_error "Timeout login on $env(HOST)\n"
           exit 2
 }
.....
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37032582
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис$env(PASS)не Ъ - можно пароль из окружения процесса вытянуть
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37032757
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловЖуравлев Денис$env(PASS)не Ъ - можно пароль из окружения процесса вытянутьо, ну давайте комментировать примеры из интернета, а то что изначально человек хочет
/bin/sshpass -p 12345
на это пофиг.
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37034703
Nick Chervovnetwind

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


судя по этой фразе, вам запрещено все, кроме ГОСТ 28145-89?

значит, вы (или ваша СБ, а вы ей не сказали) забыли, какие алгоритмы использует SSH.

так что либо крестик снимите, либо штаны наденьте.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Безпарольная аутентификация с помощью sshpass
    #37649163
Guest zerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никому предлагающему обменяться ключиками с другой машиной не пришло в голову что там может быть запрещено создавать папки .ssh в корне? Я вот с такой же проблемой столкнулась на хостингах hoster.ru там запрещено .ssh поэтому ключи не вариант
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37649306
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest zerokНикому предлагающему обменяться ключиками с другой машиной не пришло в голову что там может быть запрещено создавать папки .ssh в корне? Я вот с такой же проблемой столкнулась на хостингах hoster.ru там запрещено .ssh поэтому ключи не вариантвы жалуетесь или хвастаетесь?
...
Рейтинг: 0 / 0
Безпарольная аутентификация с помощью sshpass
    #37657176
/.ssh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что, иначе как .ssh в корне никак?
Какие только аргументы люди не придумывают, чтобы не пользоваться ключами...
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Безпарольная аутентификация с помощью sshpass
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]