ssh-agent 서비스가 사용자에 대해 활성화되어 있으며 오류 없이 실행 중입니다. (상태는 활성입니다).
하지만 ssh를 사용하려고 하면 오류가 발생합니다 Could not open a connection to your authentication agent.
. 왜 이런 일이 발생하는지 이해하지 못합니다. 이전에는 ssh가 즉시 작동했고 내 키를 통해 서버에 연결할 수 있었지만 지금은 연결하고 싶지만 오류가 발생하고 Permission denied (public key)
추가하여 시도했는데 ssh-add
이것을 얻었습니다.
문제를 해결하는 방법을 검색하고 해결책을 찾았 eval $(ssh-agent -s)
지만 작동 bash
하고 사용 중이며 fish
환경 변수를 수동으로 설정해야하고 매번 수행해야한다는 것을 검색했습니다. 예전에는 작동했습니다. 자체적으로 실행하는 방법을 검색하고 ssh-agent 데몬을 활성화해야 한다고 검색했지만 활성화했는데 작동하지만 bash를 실행해도 오류가 남아 있습니다. 동일한 오류입니다.
시스템: 아치 리눅스
답변1
문제를 해결하는 방법을 검색하여 eval $(ssh-agent -s) 솔루션을 찾았지만 bash에서만 작동합니다. Fish를 사용하고 있습니다.
여기에는 적용되지 않습니다. 여기에는 하나를 시작하는 명령이 있습니다.새로운ssh-agent의 인스턴스(그리고 더 중요한 것은 ssh-agent가 시작될 때 출력하는 환경 변수를 설정한다는 것)입니다.
명령이 올바르게 실행되면 구문 이전에 명령의 의미에 중점을 둡니다.물건그런 다음 해당 구문을 모든 쉘에 적용할 수 있습니다.
거기에서 검색해보니 환경 변수를 수동으로 설정해야 하고 매번 그렇게 해야 한다는 걸 알았습니다.
정말 매번 이렇게 해야 합니다.
Arch Linux에서 제공하는 .service에는 ssh-agent가 전체 사용자에 대한 환경 변수를 설정하도록 허용하는 옵션이 없습니다(실제로 패키지 관리자가 생각하는 것과 반대 방향으로 작동하는 PassEnvironment=가 있으므로 이 경우에는 아무것도 하지 않음), systemd에는 이를 허용하는 일반적인 메커니즘조차 없습니다.
따라서 이 서비스를 사용하는 유일한 방법은 로그인 스크립트(예: ~/.bashrc 또는 ~/.profile을 통해)를 통해 SSH_AUTH_SOCK를 수동으로 설정하는 것입니다.
그건 효과가 있었어
GNOME Keyring(로그인 시 ssh-agent 환경 변수를 자동으로 설정할 수 있는 PAM 모듈이 있음) 또는 pam_ssh(다시)와 같은 다른 것을 사용하고 있을 수 있습니다.