Есть два сервера, обзовем их srv1 и srv2. На обоих серверах есть пользователь USER, с правами судоериться под других пользователей. На сервере srv2 есть пользователь CLI.
Пользователь USER может ходить по ssh с сервера srv1 на сервер srv2 без пароля, т.к. есть ключи.
Стандартная последовательность действий:user@srv1 ~ $ ssh srv2
Last login: Mon Dec 20 19:14:30 2010 from srv1
user@srv2 ~ $ sudo -s -H -u cli
Password:
cli@srv2 /home/user $
Тут все понятно.
Родилась идея сократить количество телодвижений до цели. Идея вот такая:
user@srv1 ~ $ ssh srv2 "sudo -s -H -u cli"
А выглядит оно на самом деле так:
user@srv1 ~ $ ssh srv2 "sudo -s -H -u cli"
Password:(его почему-то видно)
whoami
cli
set|egrep 'USER|SUDO_USER|PS'
GROUPS=()
PS4='+ '
SUDO_USER=user
USER=cli
set|egrep 'HOSTNAME'
HOSTNAME=srv2
То есть ни тебе промпта, ни истории, хотя шелл есть:
set|grep SHELL
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
Если кто-то заморачивался подобным - подскажите, это вообще реально?