openssh madness

Wednesday, 29 May 2013 14:40
gns_ua: (russe)
[personal profile] gns_ua
Кажется openssh немного по-дебильному написан.

Вот есть SSH_ASKPASS, да? Но она используется ТОЛЬКО если нет связанного терминала И переменная DISPLAY непустая И стоит BatchMode=no (иначе парольная аутентификация вообще отключается).

- The option BatchMode specifies whether a username and password querying on connect will be disabled. This option is useful when you create scripts and dont want to supply the password.

Минимально необходимый набор, соответственно:

cmd = ['ssh', '-oPubkeyAuthentication=no', blablabla] # а то у некоторых серверов четыре попытки ключа и превед
# плеснуть по вкусу немного '-oStrictHostKeyChecking=no' и -F/dev/null
my_env = os.environ
my_env['SSH_ASKPASS'] = '/tmp/getpass'
my_env['DISPLAY'] = ':999' # guyz, SRSLY, WTF you need it for???
p = subprocess.Popen(cmd, env = my_env, preexec_fn=os.setsid)


Дальше выясняется что аскпасу отдают буквально строку "test@localhost's password:" и больше ничего. И как, скажите, это говно скриптовать?
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

gns_ua: (Default)
gns_ua

April 2017

M T W T F S S
     12
3456789
10111213141516
17181920212223
24252627282930

Expand Cut Tags

No cut tags