LINUX.ORG.RU
решено ФорумAdmin

ssh по паролю (sshpass?) — в режиме «BatchMode=yes»

 , ,


0

1

вечер добрый!

кто-нибудь знает как заставить работать ssh при следующих условиях (выполняться должны сразу все два условия):

1. авторизация к серверу возможно только по паролю (режим авторизации по ключу отключен администратором сервера. зачем отключен — я не знаю. я НЕ администратор этого сервера)

2. обязательно должен быть BatchMode=yes . (что бы не было никаких сюрпризов, например таких — когда я открываю скрипт, отхожу от экрана на много-минут, а скрипт например «зависнет» в этом время что-то там спрашивая)

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

$ SSH_USER_HOST="моё_имя@имя_говносервера"
$ export SSHPASS="мой_пароль"
$ sshpass -e ssh -o BatchMode=yes -- "$SSH_USER_HOST" "....вот..тут...команда..которую..я..выполняю..на...сервере..."

но к сожалению — это НЕ работает. :(

если отключить "-o BatchMode=yes" — то работать будет :) . но мне ведь нужен «BatchMode=yes».

что делать по-советуете, товарищи?

★★★★★

Последнее исправление: user_id_68054 (всего исправлений: 5)

всё! кажется понял!

похоже что — режим sshpass — сам по себе УЖЕ имеет функциональность режима пакетного файла! :)

например, если запустить sshpass -e ssh user@server в ситуации когда «server» не будет в known-списке — то никакого беспокойства подобно

ох чёрт! RSA key fingerprint is blahblahblah! ГАЛАКТИКА В ОПАСНОСТЕ!
Are you sure you want to continue connecting (yes/no)?
— НЕ будет. (просто будет выход и всё)

..тобишь это тоже самое поведение как и в случае BatchMode=yes

так-что можно СМЕЛО удалять ``-o BatchMode=yes`` и не очём не беспокоится... верно? да? :)

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от bl

да, спасибо!

это полезный параметр! (я про него знаю, но не стал упомянать чтобы не разводить простыни в стартовом сообщении)

просто я опасаюсь что кроме «Are you sure you want to continue connecting (yes/no)?» — могут встречаться и другие вопросы.

...а например когда запустится ssh и задаст мне [какой-то другой] вопрос в терминале — то меня может не быть около компьютера.

ну чесно, не знаю что может ещё спрашивать ssh ... вдруг может что-то :-) ... не?

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от bl

тобишь параметр "-o BatchMode=yes" — по сути делает что:

он заставляет программу ssh вести себя так, будто она запущена не в терминале, и следовательно будто не имеет возможности ничего спрашивать :) . то-есть решает проблему «зависания» — ФАТАЛЬНО (брутально) ! :)

а параметр "-o StrictHostKeychecking=no" (он разумеется не конфликтует с "-o BatchMode=yes" :)) — исправляет только какой-то один конкретный случай вопроса.

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от user_id_68054

ХЗ, у меня как-то было так:
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
RSA key fingerprint is ac:80:1b:40:3c:fd:c0:f3:51:1d:a5:69:46:b0:15:11.
Are you sure you want to continue connecting (да/нет)? yes
Please type 'да' or 'нет':

Вот такая вот лолкалицазия, но правда это был Sun_SSH_1.1.3 в Oracle Solaris 10

bl ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.