
저는 GNOME 3/GNOME Shell을 데스크탑 환경으로, Wayland를 디스플레이 서버로, SystemD를 init로 실행하는 Fedora 24(amd64)를 사용하고 있습니다. 기본적으로 매우 표준적인 방식으로 Fedora 24가 출시됩니다.
내 이전 배포판은 여전히 사용됩니다. 그래픽 프로그램을 시작할 때 사용할 수 있도록 합니다. 이를 통해 unison-gtk와 같은 프로그램은 올바른 SSH_AUTH_SOCK
환경 변수를 갖게 되어 gpg-agent를 SSH 에이전트로 사용할 수 있습니다. Bash 세션 내에서 실행되는 모든 것은 내 .bashrc의 환경 변수를 사용하지만 그래픽 응용 프로그램은 액세스를 위해 이를 내보내야 합니다.
이러한 환경 변수를 내보내고 해당 디스플레이 서버 + 데스크톱 환경에서 실행되는 응용 프로그램에서 사용할 수 있도록 하는 Wayland/GNOME/SystemD에 동등한 도구가 있습니까?
답변1
systemctl --user import-environment SSH_AUTH_SOCK
스크립트에서 사용해 보세요 /etc/X11/xinit/xinitrc.d/
. 참고로 확인해 보세요 /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
.
답변2
gpg 에이전트에서 SSH 지원을 활성화하고 행을 추가한 enable-ssh-agent
다음 ~/.gnupg/gpg-agent.conf
로그아웃했다가 다시 로그인하세요.
이 설정이 선택되었습니다 /etc/X11/Xsession.d/90gpg-agent
.
문제는 이것이 X11 프로그램에서만 작동한다는 것입니다. 기본 Wayland 클라이언트는 영향을 받지 않습니다. 이 문제를 해결하려면 gpgconf --list-dirs agent-ssh-socket
인쇄되는 내용 에 따라 두 가지 옵션이 있습니다 .
고정 경로인 경우 파일을 만들고
.config/environment.d/ssh.conf
다음 출력을 추가합니다.SSH_AUTH_SOCK=/run/user/XXX/gnupg/S.gpg-agent.ssh
또는
gpgconf
인쇄하는 동안 발생하는 다른 모든 것.다음에 로그인할 때 다른 곳에 있는 임시 파일인 경우 다음 줄을 자신의 파일
.bashrc
(또는 사용 중인 쉘에 해당하는 항목)에 추가하세요.if [ -z "$SSH_AUTH_SOCK" ] ; then export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" fi dbus-update-activation-environment --systemd SSH_AUTH_SOCK
이는 첫 번째 셸 이후에 시작된 셸 및 기타 Wayland 프로그램에만 적용되지만 충분합니다.
답변3
너무 늦었지만 다른 사람에게 도움이 될 수 있습니다.
~에 따르면Gnome Keyring SSH 에이전트 위키 페이지Gnome Keyring에서 SSH 에이전트 지원을 비활성화할 수 있습니다.
해당 소스에서 복사하여 붙여넣은 관련 정보는 다음과 같습니다.
시스템 리셀러 또는 사용자로서 다른 SSH 에이전트(예:
ssh-agent
OpenSSH와 함께 제공되는 에이전트)를 사용하는 경우 SSH가 기본 SSH 에이전트 대신 SSH를 사용하지 못하도록 GNOME 키링에서 SSH 에이전트를 비활성화해야 할 수도 있습니다.그놈 키링 SSH 에이전트를 비활성화하는 방법에는 여러 가지가 있습니다:
- "응용 프로그램 실행" capplet(예:
gnome-session-properties
)을 사용하고 "SSH 키 에이전트" 실행 프로그램을 비활성화합니다.gnome-keyring
SSH 지원 없이 구축할 수 있습니다. 다음 구성 옵션을 사용하십시오.$ ./configure --disable-ssh-agent
gnome-keyring
수동으로 또는 스크립트에서 시작하는 경우 이--components
옵션을 사용하여 SSH 지원을 시작에서 제외할 수 있습니다.$ gnome-keyring-daemon --components keyring,pkcs11