Вы можете использовать переадресацию агента: не забудьте включить ForwardAgent yes
в конфигурацию на стороне клиента ( ~ / .ssh / config
) или используйте параметр командной строки -A
. (Эта функция может быть отключена на стороне сервера ( AllowAgentForwarding
в sshd_config
), но это полезно только для ограниченных учетных записей, которые не могут запускать произвольные команды оболочки.) Таким образом, все ключи с вашего локального компьютера доступны в удаленном сеансе. Обратите внимание, что включение пересылки агента на стороне клиента имеет последствия для безопасности: это дает администратору удаленного компьютера доступ к вашим ключам (например, если вы находитесь в A и имеете ключ для B и ключ для C, а также разрешаете пересылку агента. в вашем подключении к B, это позволяет B получить доступ к вашим ключам и, следовательно, войти в C).
Если вы хотите, чтобы агент из вашего X-сеанса на офисном компьютере был доступен в сеансах SSH из дома, вам необходимо установить переменную среды SSH_AUTH_SOCK
так, чтобы она указывала на тот же файл, что и в X сессия. Это достаточно просто сделать вручную:
export SSH_AUTH_SOCK=/tmp/ssh-XXXXXXXXXXXX/agent.12345
где XXXXXXXXXXXX
- случайная строка, а 12345
- PID процесса агента. Вы можете легко автоматизировать это, если есть один работающий агент ( find / tmp -maxdepth 1 -user $ USER -name 'ssh - *'
), но определить, какой агент вам нужен, если их несколько, сложнее .
Вы можете извлечь значение SSH_AUTH_SOCK
из запущенного процесса.Например, в Linux, если вашим оконным менеджером является Metacity (оконный менеджер Gnome по умолчанию):
env=$(grep -z '^SSH_AUTH_SOCK=' /proc/$(pidof -s metacity)/environ')
if [ -n "$env" ]; then export "$env"; fi
В качестве альтернативы вы можете настроить офисную машину на использование одного агента SSH. Если агент запускается автоматически при входе в систему, то в большинстве дистрибутивов он не запускается, если в среде уже есть переменная с именем SSH_AUTH_SOCK
. Поэтому добавьте определение SSH_AUTH_SOCK
в свой ~ / .profile
или ~ / .pam_environment
и запустите вручную ssh-agent
, если он еще не запущен в .profile
:
export SSH_AUTH_SOCK=~/.ssh/$HOSTNAME.agent
if [ -z "$(pgrep -U "$USER" ssh-agent)" ]; then
ssh-agent >/dev/null
fi
С:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/color1
Вы получаете:
Value is an array with 4 items:
7936
16128
28416
65535
Таким образом, вы должны установить массив с -опцией
Для каждого элемента необходимо указать сначала тип, а затем значение.
Вы можете попробовать так:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/color1 -a -t int -s 19018 -t int -s 37008 -t int -s 55769 -t int -s 65535