включение tty в сеансе ssh - PullRequest
4 голосов
/ 30 июля 2010

Я бы взял некоторую информацию для входа в систему для написания сценария, который будет использоваться многими пользователями.В python я установил input_raw для чтения из dev / tty, но он ужасно терпит неудачу, когда я подключаюсь к скрипту, запускаемому на сервере через ssh.

Мысли?Обходные пути?

Я бы предпочел избегать жесткого кодирования имен пользователей в сценарии.

Пожалуйста, и спасибо.

1 Ответ

5 голосов
/ 30 июля 2010

Попробуйте использовать опцию -t для ssh:

     -t      Force pseudo-tty allocation.  This can be used to execute arbi-
             trary screen-based programs on a remote machine, which can be
             very useful, e.g. when implementing menu services.  Multiple -t
             options force tty allocation, even if ssh has no local tty.

В ~/.ssh/config не существует эквивалентной опции, поэтому вам нужно будет создать сценарий оболочки.Простым является:

#!/bin/sh

ssh -t "$*"

Сохраните это как ssh-t или как-то, chmod +x ssh-t, и поместите его где-нибудь в свой PATH.Затем установите GIT_SSH=ssh-t, чтобы Git использовал этот скрипт.

...