ssh-agent и разные сессии
Часто приходится ходить на разные сервера ssh и влом вводить passphrase для ключа каждый раз. Для этого используется ssh-agent, который хранит оные ключи в себе и раздает их ssh по мере надобности. Но дело в том, что для взаимодействия с ним используется сокет, созданный с именем /tmp/ssh-херпобедичтоagent.PID. И чтобы ssh его видел, нужно чтобы в окружении наличествовала переменная SSH_AUTH_SOCK с этим именем.
А я постоянно открываю с виндового ssh клиента новые сессии на линукс (разные проги в разных окнах, переключаться так проще, чем через screen их запускать, итд) и в них этой переменной нет. В принципе, вызывать export SSH_AUTH_SOCK=/tmp/ssh-херпобедичто/agent.PID особой проблемы нет, но мне интересно, нет ли какого способа делать это автоматом.
С ходу вижу только способ типа "запускать ssh-agent скриптом, который из его вывода создает еще один скрипт, а этот второй скрипт вызывается из .profile при логине и ставит нужные переменные". Но что-то сильно похоже наметапрограммирование закат солнца вручную.
А я постоянно открываю с виндового ssh клиента новые сессии на линукс (разные проги в разных окнах, переключаться так проще, чем через screen их запускать, итд) и в них этой переменной нет. В принципе, вызывать export SSH_AUTH_SOCK=/tmp/ssh-херпобедичто/agent.PID особой проблемы нет, но мне интересно, нет ли какого способа делать это автоматом.
С ходу вижу только способ типа "запускать ssh-agent скриптом, который из его вывода создает еще один скрипт, а этот второй скрипт вызывается из .profile при логине и ставит нужные переменные". Но что-то сильно похоже на
no subject
2) В стартап скрипте SSH_AGENT добавить создание симлинка /tmp/ssh-XPEH на /tmp/ssh-херпобедичто/agent.PID
no subject
no subject
export SSH_AUTH_SOCK=`find /tmp -regex /tmp/ssh-.*agent.*`
no subject
no subject
no subject
no subject
no subject
no subject
просто в обычном режиме он допускает только одно подключение, а так - можно работать из двух сразу. т.е. если первый юзер скажет C-a 1 а второй C-a 2, то будут видеть разные программы, а если оба скажут C-a 3, то смогут вместе писать в один емакс :-)
no subject
no subject
no subject
локальный агент -> ssh remotehost, там запускаем скрин, в нем всякую шнягу.
Потом реконнект, опять ssh, screen -r.... И как бы почти профит, потому что у всех ранее запущеных шеллов вместо форвардинга SSH_AUTH_SOCKET смотрит вникуда
no subject
Наши подоконники запускают агента локально на венде, затем заходят на коробки произвольное количество раз и переходят с них друг на друга. И никакого геморроя с ключами нет. Как ты умудрился сломать этот простой механизм?
no subject
no subject
(Anonymous) 2010-09-05 07:17 pm (UTC)(link)