URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10149
[ Назад ]

Исходное сообщение
"Непонятки с TTY"

Отправлено grizzlynet , 15-Фев-17 17:18 
Привет, коллеги! На удаленном хосте sudo-права есть. Передаю SSH ключ -t  чтоб аллоцировал терминал. Непонятно по какой причине нет tty! Возвращаяется ошибка: sudo: нет tty и не указана программа askpass.

#!/bin/bash
lhost=$1
for host in `cat $lhost`
do
cat ~/.ssh/id_rsa.pub | ssh -t user@$host 'sudo mkdir -p .ssh;
                                              sudo touch .ssh/authorized_keys;
                                              sudo cat >> .ssh/authorized_keys;
                                              sudo chmod 700 ~/.ssh;
                                              sudo chmod 600 ~/.ssh/authorized_keys'

done



Содержание

Сообщения в этом обсуждении
"Непонятки с TTY"
Отправлено shadow_alone , 15-Фев-17 17:49 
Про ansible Вы не слышали, я так понимаю :)

А по теме - Вас и в гугле забанили, похоже - http://stackoverflow.com/questions/21659637/how-to-fix-sudo-...

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


"Непонятки с TTY"
Отправлено grizzlynet , 16-Фев-17 09:04 
> Про ansible Вы не слышали, я так понимаю :)
> А по теме - Вас и в гугле забанили, похоже - http://stackoverflow.com/questions/21659637/how-to-fix-sudo-...
> проблема известная, и ответов как решить over9000.

никто меня не банил)))


"Непонятки с TTY"
Отправлено Andrey Mitrofanov , 15-Фев-17 17:51 
> Привет, коллеги! На удаленном хосте sudo-права есть. Передаю SSH ключ -t  
> чтоб аллоцировал терминал. Непонятно по какой причине нет tty! Возвращаяется ошибка:
> sudo: нет tty и не указана программа askpass.

Если присмотреться, то stdin ssh в такой конструкциии действительно не тервинал.

> cat ~/.ssh/id_rsa.pub | ssh -t user@$host 'sudo mkdir -p .ssh;

$ seq 5 |ssh -t server1-2-3 'sudo id'
Pseudo-terminal will not be allocated because stdin is not a terminal.
sudo: нет tty и не указана программа askpass
$ _

А если ещё почитать man ssh, то можно узнать про "Multiple -t options force tty allocation, even if [,,,]".

Попробуй [U] ssh -tt [/U].


"Непонятки с TTY"
Отправлено grizzlynet , 16-Фев-17 09:03 
>[оверквотинг удален]
>> sudo: нет tty и не указана программа askpass.
> Если присмотреться, то stdin ssh в такой конструкциии действительно не тервинал.
>> cat ~/.ssh/id_rsa.pub | ssh -t user@$host 'sudo mkdir -p .ssh;
> $ seq 5 |ssh -t server1-2-3 'sudo id'
> Pseudo-terminal will not be allocated because stdin is not a terminal.
> sudo: нет tty и не указана программа askpass
> $ _
> А если ещё почитать man ssh, то можно узнать про "Multiple -t
> options force tty allocation, even if [,,,]".

> Попробуй [U] ssh -tt [/U].

-tt висит после ввода пароля.


"Непонятки с TTY"
Отправлено VladimirV , 16-Фев-17 17:53 
1.вместо этих строк
  sudo chmod 700 ~/.ssh;
  sudo chmod 600 ~/.ssh/authorized_keys'
  можно сказать umask 077 перед mkdir

2. а  ssh-copy-id отсутствует ?

3. можно обойтись и без цикла смотри mussh


"Непонятки с TTY"
Отправлено Аноним , 16-Фев-17 21:06 
> 1.вместо этих строк
>   sudo chmod 700 ~/.ssh;
>   sudo chmod 600 ~/.ssh/authorized_keys'
>   можно сказать umask 077 перед mkdir
> 2. а  ssh-copy-id отсутствует ?
> 3. можно обойтись и без цикла смотри mussh

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


"Непонятки с TTY"
Отправлено redd , 18-Фев-17 15:26 
>> 1.вместо этих строк
>>   sudo chmod 700 ~/.ssh;
>>   sudo chmod 600 ~/.ssh/authorized_keys'
>>   можно сказать umask 077 перед mkdir
>> 2. а  ssh-copy-id отсутствует ?
>> 3. можно обойтись и без цикла смотри mussh
> А я бы просто ручками все проверил через ssh , и все
> стало бы ясно ...

А потом скриптик накидал )